Set style for Checkbutton or Labelframe in python tkinter
我已经使用python tkinter设计了一个GUI。 现在我想为Checkbutton和Labelframe设置样式,例如字体,颜色.etc
我已经阅读了有关tkinter样式主题的一些答案,并且使用以下方法为Checkbutton和Labelframe设置样式。
但是它们实际上不起作用。
1 2 3 4 | Root = tkinter.Tk() ttk.Style().configure('Font.TLabelframe', font="15", foreground ="red") LabelFrame = ttk.Labelframe(Root, text ="Test", style ="Font.TLabelframe") LabelFrame .pack( anchor ="w", ipadx = 10, ipady = 5, padx = 10, pady = 0, side ="top") |
您能告诉我原因,还是您有其他有效方法? 非常感谢你!
您需要配置标签子组件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from tkinter import * from tkinter import ttk root = Tk() s = ttk.Style() s.configure('Red.TLabelframe.Label', font=('courier', 15, 'bold')) s.configure('Red.TLabelframe.Label', foreground ='red') s.configure('Red.TLabelframe.Label', background='blue') lf = ttk.LabelFrame(root, text ="Test", style ="Red.TLabelframe") lf.pack( anchor ="w", ipadx = 10, ipady = 5, padx = 10, pady = 0, side ="top") Frame(lf, width=100, height=100, bg='black').pack() print(s.lookup('Red.TLabelframe.Label', 'font')) root.mainloop() |
当我想简单地更改
您必须使用
1 2 3 4 5 6 | # changing a labelframe font's weight to bold root = Tk() style = ttk.Style() style.configure("Bold.TLabel", font=("TkDefaultFont", 9,"bold")) label = ttk.Label(text="Foo", style="Bold.TLabel") lf = ttk.LabelFrame(root, labelwidget=label) |