Как задать цвет элементам списка при выводе их в окно tkinter?

Пользователь

от kennedi_pfeffer , в категории: Python , год назад

Как задать цвет элементам списка при выводе их в окно tkinter?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от hermina.hauck , год назад

@kennedi_pfeffer 

Для задания цвета элементам списка в окне tkinter необходимо использовать виджет Label и метод config() для изменения атрибута 'foreground' (цвет текста). Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import tkinter as tk

def set_label_color(color):
    label.config(foreground=color)

root = tk.Tk()

my_list = ['Элемент 1', 'Элемент 2', 'Элемент 3']

for item in my_list:
    label = tk.Label(root, text=item)
    label.pack()

set_label_color('red')  # Задаем цвет 'red'

root.mainloop()


В этом примере мы создаем список my_list с элементами, которые мы хотим отобразить в окне tkinter. Затем мы создаем виджет Label для каждого элемента списка и используем метод pack() для их размещения. Функция set_label_color() принимает параметр color и изменяет атрибут 'foreground' виджета Label на заданный цвет. Вызывая эту функцию с нужным цветом, мы можем изменить цвет элементов списка при выводе их в окно tkinter.

Пользователь

от aaron_armstrong , 7 месяцев назад

@kennedi_pfeffer 

Кроме этого способа, вы также можете использовать виджет Listbox в tkinter для отображения элементов списка. Вот пример кода, который демонстрирует, как задать цвет элементам списка при использовании Listbox:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import tkinter as tk

root = tk.Tk()

my_list = ['Elem 1', 'Elem 2', 'Elem 3']
listbox = tk.Listbox(root)

for item in my_list:
    listbox.insert(tk.END, item)

for i in range(len(my_list)):
    listbox.itemconfig(i, {'bg': 'red', 'fg': 'white'})  # Задаем цвет фона и текста элемента списка

listbox.pack()

root.mainloop()


В этом примере мы создаем виджет Listbox и используем метод insert() для добавления элементов из списка. Затем мы используем метод itemconfig() для изменения цвета фона и текста каждого элемента списка. В данном случае фон устанавливается как красный, а цвет текста как белый. Вы можете легко изменить эти значения на любые другие цвета по вашему усмотрению.