Разные цвета элементов в ListBox

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


Ответы (1 шт):

Автор решения: S. Nick

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

import tkinter as tk
import tkinter.font as tkFont


root = tk.Tk()
root.title("Listbox Item Color")

custom_font = tkFont.Font(
    family='Helvetica', 
    size=22, 
    weight='bold')

listbox = tk.Listbox(root, 
     height=5, 
     width=30, 
     font=custom_font)
listbox.pack()

listbox.insert(tk.END, "Item1")
listbox.insert(tk.END, "Item2")
listbox.insert(tk.END, "Item3")

listbox.itemconfigure(
    0, 
    background="red", 
    foreground="white"
)

listbox.itemconfigure(
    1, 
    background="blue", 
    foreground="#FFFF00"
)

root.mainloop()

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

→ Ссылка