我希望能够更改 LabelFrame
边框颜色。
我找到了如何使用 ttk
主题执行此操作,但此方法的问题在于它适用于所有 Labelframe
。
因为我只想修改一个标签框架,所以我尝试使用 ttk
和 style.configure
的方式来做,但它不起作用。我实现了更改标签框架的标签颜色,但背景选项或边框颜色选项似乎不起作用。
这是我的代码: Python 3 Mac OSX
from tkinter import *
from tkinter import ttk
master = Tk()
master.geometry('200x200')
s = ttk.Style()
s.configure('TLabelframe', bordercolor='red')
s.configure('TLabelframe.Label', foreground='blue')
labelframe = ttk.Labelframe(master, text='Options', style='TLabelframe')
labelframe.grid()
b = ttk.Button(labelframe, text='Hello World')
b.grid()
master.mainloop()
预先感谢您的帮助
答案 0 :(得分:1)
为您的样式预先命名,例如:
s.configure('User.TLabelframe', bordercolor='red')
s.configure('User.TLabelframe.Label', foreground='blue')
labelframe = ttk.Labelframe(master, text='Options', style='User.TLabelframe')
答案 1 :(得分:0)
感谢 Atlas435 的评论,我设法使用“蛤蜊”主题获得了我想要的东西,但我认为我无法通过这种方式为两个不同颜色的标签框着色:
from tkinter import *
from tkinter import ttk
master = Tk()
master.geometry('800x800')
s = ttk.Style()
s.theme_use('clam')
s.configure('clam.TLabelframe', bordercolor='red', borderwidth=8,background='white')
s.configure('clam.TLabelframe.border', background='red', borderwidth=10)
s.configure('clam.TLabelframe.Label', foreground='blue',background='white')
labelframe = ttk.LabelFrame(master, text='Options', style='clam.TLabelframe',height=200, width=400)
labelframe.grid()
labelframe.grid_propagate(0)
b = ttk.Button(labelframe, text='Hello World')
b.grid()
master.mainloop()