2

我在 Linux 下获得了工作代码来改变 python 2.7 下 Ttk 的 TCombobox 的外观。如果我在 windows 下运行代码,它将无法工作。我知道,ttk 小部件的颜色和属性是平台相关的。我仍然无法弄清楚如何更改文本区域的颜色或 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 更改为黄色,但组合框的外观并没有改变。那么,如何改变颜色呢?

提前致谢!

4

1 回答 1

1

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

style.theme_use("alt")

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

于 2018-06-14T09:18:54.120 回答