如何更改ttk。在python的tkinter8.5中,LabelFrame的蓝色头标到黑色
题
我正在Windows7机器上使用tkinter8.5和python3.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标题以黑色出现w/o奇怪的副作用?
解决方案
似乎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()
. 其他提示
这也可以使用前景属性进行更改 tk.LabelFrame(window, foreground='red')
你只需要删除 style='TLabelframe.Label'
从 ttk.LabelFrame
选择。
import tkinter as tk
from tkinter import ttk
root = tk.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.")
lf.pack()
label = ttk.Label(lf, text="label")
label.pack()
root.mainloop()
我正在使用Python3.7.3和tkinter8.6。
不隶属于 StackOverflow