Я могу изменить цвет комбинированного списка 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")
после того, как стиль определен, и поле со списком начало работать так, как задумано, но оно изменяет внешний вид виджета, поэтому может оказаться не идеальным решением.