Mar*_*Jie 6 python styles tkinter
我使用python tkinter设计了一个GUI.现在我想为Checkbutton和Labelframe设置样式,例如字体,颜色.etc我已经阅读了关于tkinter样式主题的一些答案,并且我使用以下方法为Checkbutton和Labelframe设置样式.但他们实际上并没有工作.
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")
Run Code Online (Sandbox Code Playgroud)
你能告诉我原因,还是你有其他有效的方法?非常感谢你!
您需要配置Label子组件:
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()
Run Code Online (Sandbox Code Playgroud)
由于当我想简单地改变ttk.LabelFrame字体的粗细时,接受的答案并没有真正帮助我(如果你按照推荐的方式去做,你最终会得到一个放错位置的标签),我会提供对我有用的东西。
您必须使用labelwidget选项参数ttk.LabelFrame首先准备一个ttk.Label您之前相应的样式。重要提示: usinglabelwidget意味着您不使用通常的text选项参数ttk.LabelFrame(只需在标签中使用)。
# 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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5387 次 |
| 最近记录: |