Tkk:自定义样式不起作用

Tkk: custom style doesn't work

我正在尝试学习如何按照以下文档创建自定义 ttk 样式:http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/ttk-style-layer.html

代码如下:

    self.style = ttk.Style()
    self.style.configure("ciao.TLabel", bg="red")
    poplabel = ttk.Label(self.root, text="ciao", style="ciao.TLabel")
    poplabel.place(x=0, y=530)

问题是标签样式仍然是默认样式,而不是 "ciao.TLabel"。

您遇到问题是因为 ttk.Label 的背景不是通过更改样式自定义的,而是通过更改 w = ttk.Label(parent, option=value, ...) 中的背景选项自定义的。

要更改现有颜色的背景颜色,您需要执行以下操作:
poplabel.configure(background='red')poplabel[background]='red'.

要在创建 ttk.label 时更改默认背景,请键入:
poplabel = ttk.Label(self.root, text="ciao", background="red")

更新: 不好意思,您可以如上所述更改背景,也可以使用样式。 L'ultimo 是正确的。 :)

问题是 "bg" 在 ttk 上不存在。只有 "background" 可以,事实上

self.style.configure("ciao.TLabel", background="red")

有效。