【发布时间】:2014-07-08 03:28:47
【问题描述】:
我正在为应用程序使用tkinter 的主题 (ttk) GUI 工具包。尝试对主窗口中的小部件应用一些统一的样式:
s = ttk.Style()
s.configure('.', background='#eeeeee')
s.configure('.', font=('Helvetica', 14))
self.configure(background='#eeeeee')
字体更改效果很好,但由于某种原因,小部件(即ttk.Label 和ttk.Button)似乎没有反映背景更改,由于窗口背景和小部件背景之间的对比,这在视觉上非常明显.如果我检查它的设置:
label1.cget('background')
它返回'',很明显它没有被设置,但鉴于ttk.Label 和styles 的文档,我不明白有什么问题。尝试直接为单个标签设置背景:
label1.configure(background='#eeeeee')
也不起作用(即没有变化)。 有什么想法吗?
【问题讨论】:
-
我猜,你用的是Mac系统。
-
是的,我在 10.9。这是 OS X 的已知问题吗?
-
是的。至少是这样。我没有使用 OS X,所以不确定它是否仍然存在。
-
ttk 标签背景在 Windows 上工作正常。
-
任何使用 tk 的人都应该尽可能使用最新的 tcl/tk 版本,包括最新的功能,也许更重要的是,最新的错误修复。 python.org 3.7.0b3 安装程序包含并安装 Python 使用 tcl/tk 8.6.8。与 8.5 的最后一个错误修复相比,这应该是一个很大的改进,这是 3.7 之前 Mac 上最新的 tcl/tk 支持。它应该有几个针对 macOS 的修复程序。这个问题是否解决了,我不知道。