Выберите одну строку списка в PySimpleGUI

#python #listbox #pysimplegui

#python #список #pysimplegui

Вопрос:

Мой вопрос прост, я новичок в PySimpleGUI, и я хочу знать, как мне изменить цвет текста в списке, но я хочу изменить только некоторые определенные строки, поэтому важно, чтобы я мог запустить весь список и выбрать строки. Кто-нибудь знает, как это сделать, я буду очень благодарен.

Комментарии:

1. Вы можете изменить цвет текста для всего списка с text_color помощью . Невозможно изменить отдельные строки, не углубляясь на уровень глубже (например, в tk, но это зависит от ОС, так что это не тривиально.)

2. будет ли работать многострочная с печатью?

Ответ №1:

код tkinter, необходимый для установки параметров для элементов в listbox.

введите описание изображения здесь

 import PySimpleGUI as sg

sg.theme("DarkBlue")

items = ['USA', 'Mexico', 'Japan', 'Korea', 'UK', 'China', 'France']
asia_index = (2 ,3, 5)

layout = [
    [sg.Listbox(items, size=(10, 7), key='-LISTBOX-')],
]
window = sg.Window('Title', layout, finalize=True)
listbox = window['-LISTBOX-'].Widget
for index in asia_index:
    listbox.itemconfigure(index, bg='green', fg='white')    # set options for item in listbox
while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED:
        break
    print(event, values)

window.close()
 

Ответ №2:

Вы можете изменить цвет текста, добавив text_color=’COLOR’ при его создании.

для exmaple:

 Sg.Text("My text", key="sub_title", size=(15, 1), text_color='yellow')
 

И если вы хотите изменить цвет кнопки, вам нужно будет использовать button_color=(‘FIRST_COLOR’, ‘SECOND_COLOR’), как показано ниже:

     Sg.Button("Update", key='update_button', size=(25, 1), button_color=('blue', 'purple'))
 

Наслаждайтесь.