Big*_*pie 3 python tkinter ttk
我在 Windows 7 机器上使用 tkinter 8.5 和 python 3.3。
下面的代码以蓝色字体颜色呈现 Labelframe 的标题。
from tkinter import *
from tkinter import ttk
root = Tk()
lf = ttk.LabelFrame(root, text="Why is this blue?")
lf.pack()
label = ttk.Label(lf, text="label")
label.pack()
Run Code Online (Sandbox Code Playgroud)
我尝试通过添加 ttk.Style() 来解决此问题,但出现意外显示:
from tkinter import *
from tkinter import ttk
root = Tk()
s = ttk.Style()
s.configure('TLabelframe.Label', font='arial 14 bold')
lf = ttk.LabelFrame(root, text="Now it's black, but w/ a bizarre display"
" and no etched frame.", style='TLabelframe.Label')
lf.pack()
label = ttk.Label(lf, text="label")
label.pack()
Run Code Online (Sandbox Code Playgroud)
有没有办法让 ttk.LabelFrame 标头显示为黑色而没有奇怪的副作用?
似乎 Windows 将 ttk.Labelframe 标头默认为这种蓝色。不知道为什么。

我通过创建 ttk.Label 并将其作为 ttk.Labelframe 的 labelwidget 参数传递找到了解决方案。不过,这可能更像是一种解决方法。无论如何,下面的代码在我的 Windows 7 机器上以黑色显示标题文本。
from tkinter import *
from tkinter import ttk
root = Tk()
l = ttk.Label(text="Not blue anymore")
lf = ttk.Labelframe(root, labelwidget=l)
lf.pack()
label = ttk.Label(lf, text="label")
label.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2811 次 |
| 最近记录: |