@izma

Как задать цвет выпадающего списка в Tkinter Python?

Добрый день,
подскажите пожалуйста, что я делаю неправильно -
нужно задать цвет фона и шрифта выпадающего списка:
combo = ttk.Combobox(frame_1,
                     values=name_room,
                     height = 1,
                     width = 24,
                     font = ("Windows", 12),
                     background="red",
                     foreground="#375010"
                     )
  • Вопрос задан
  • 249 просмотров
Решения вопроса 1
trapwalker
@trapwalker
Программист, энтузиаст
В ttk.Combobox параметры background и foreground не работают напрямую. Необходимо использовать стили для настройки цветов. Вот как это можно сделать:

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

style = ttk.Style()
style.theme_use('default')

style.configure("TCombobox",
                fieldbackground="red",  # Цвет фона выпадающего списка
                background="red",  # Цвет фона поля
                foreground="#375010",  # Цвет шрифта
                selectbackground="red",  # Цвет фона при выборе
                selectforeground="#375010"  # Цвет шрифта при выборе
                )

frame_1 = ttk.Frame(root)
frame_1.pack(padx=10, pady=10)

combo = ttk.Combobox(frame_1,
                     values=["Option 1", "Option 2", "Option 3"],
                     height=1,
                     width=24,
                     font=("Windows", 12),
                     style="TCombobox"
                     )
combo.pack()

root.mainloop()

Этот код настраивает цвет фона и шрифта для выпадающего списка. Обратите внимание на использование style.configure для настройки внешнего вида.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы