我可以在Windows下更改python ttk组合框的颜色吗?

时间:2017-02-27 09:11:45

标签: python windows ttk tcombobox

我在Linux下运行代码来改变python 2.7下Ttk的TCombobox的外观。如果我在Windows下运行代码,它将无法正常工作。我知道,ttk小部件的颜色和属性都是依赖于平台的。我仍然无法弄清楚如何改变textarea或windows下的组合框的向下箭头的颜色。 在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在Windows下的属性:

    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 个答案:

答案 0 :(得分:1)

对Sammy来说可能有点晚了,但对于其他人来说,我把我的工作放在了

style.theme_use("alt")

定义样式后,组合框开始按预期工作但确实改变了小部件的外观,因此可能不是理想的解决方案。