gpt4 book ai didi

python - 如何在 python 的 tkinter 8.5 中将 ttk.LabelFrame 的蓝色标题标签更改为黑色

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:24 26 4
gpt4 key购买 nike

我在 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()

我尝试通过添加 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()

有没有办法让 ttk.LabelFrame 标题显示为黑色而没有奇怪的副作用?

最佳答案

Windows 似乎将 ttk.Labelframe header 默认设置为这种蓝色。不知道为什么。

Mac and Linux default to black, while Windows defaults to blue.

我通过创建 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()

关于python - 如何在 python 的 tkinter 8.5 中将 ttk.LabelFrame 的蓝色标题标签更改为黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25002373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com