Я могу изменить цвет комбинированного списка Python TTK под Windows?

Я получил рабочий код под Linux, чтобы изменить внешний вид TCombobox Ttk под python 2.7. Если я запускаю код под Windows, он не будет работать. Я знаю, что цвета, а также атрибуты виджетов ttk зависят от платформы. Тем не менее, я не могу понять, как изменить цвет текстовой области или нижней части поля со списком под окнами. Код, который работает под Linux, выглядит так:

self = Tkinter.Canvas
style = ttk.Style()
style.configure('Yellow.TCombobox',background="yellow")
combo = ttk.Combobox(self,width=12,font=("Arial",8),style="Yellow.TCombobox")

Я попытался выяснить, какие атрибуты TCombobox получил под окнами:

    print style.layout("TCombobox")
    style.configure("Yellow.TCombobox",fieldbackground="yellow")
    print style.lookup("Yellow.TCombobox", 'fieldbackground')

Мой вывод на печать следующий:

[('Combobox.field', {'children': [('Combobox.downarrow', {'side':
 'right', 'sticky': 'ns'}), ('Combobox.padding', {'children': 
[('Combobox.focus', {'children':
[('Combobox.textarea', {'sticky': 'nswe'})], 'expand': '1', 'sticky':     
'nswe'})], 'expand': '1', 'sticky': 'nswe'})], 'sticky': 'nswe'})]

yellow

Однако, хотя атрибут fieldbackground изменяется на желтый, внешний вид поля со списком не изменяется. Итак, как мне изменить цвет?

Заранее спасибо!

1 ответ

Может быть, немного опоздал для Сэмми, но для других я получил свою работу, поставив

style.theme_use("alt")

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

Другие вопросы по тегам