有什么办法可以改变 ttk Label Frame 的边框宽度吗?
Is there any way to change ttk Label Frame borderwidth?
我正在尝试修改 ttk.Labelframe 边框宽度,使其更粗,如下所示。
左边是默认粗细,右边是我想要的粗边框。
我尝试了以下样式:
mystyle = ttk.Style()
mystyle.configure('MyStyle.TLabelframe.Label', font=('courier', 35, 'bold'))
mystyle.configure('MyStyle.TLabelframe.border', borderwidth = 10)
lblframe = ttk.Labelframe(root, text = "Label frame", style = 'MyStyle.TLabelframe')
但是,边框宽度保持不变。
borderwidth
选项在 TLabelframe
class 下,而不是 TLabelframe.border
。您还需要将 relief
选项更改为 solid
以在图像中显示结果。
请注意,并非所有主题都支持更改边框宽度,因此请尝试选择其他主题。
下面的例子适用于我的 Windows 7:
mystyle.theme_use('alt') # choose other theme
mystyle.configure('MyStyle.TLabelframe', borderwidth=10, relief='solid', labelmargins=20)
mystyle.configure('MyStyle.TLabelframe.Label', font=('courier', 35, 'bold'))
另请注意,在创建 Labelframe
小部件时也可以设置 borderwidth
和 relief
:
lblframe = ttk.Labelframe(root, text="Label frame", borderwidth=5, relief='solid', style='MyStyle.TLabelframe')
我正在尝试修改 ttk.Labelframe 边框宽度,使其更粗,如下所示。
左边是默认粗细,右边是我想要的粗边框。
我尝试了以下样式:
mystyle = ttk.Style()
mystyle.configure('MyStyle.TLabelframe.Label', font=('courier', 35, 'bold'))
mystyle.configure('MyStyle.TLabelframe.border', borderwidth = 10)
lblframe = ttk.Labelframe(root, text = "Label frame", style = 'MyStyle.TLabelframe')
但是,边框宽度保持不变。
borderwidth
选项在 TLabelframe
class 下,而不是 TLabelframe.border
。您还需要将 relief
选项更改为 solid
以在图像中显示结果。
请注意,并非所有主题都支持更改边框宽度,因此请尝试选择其他主题。
下面的例子适用于我的 Windows 7:
mystyle.theme_use('alt') # choose other theme
mystyle.configure('MyStyle.TLabelframe', borderwidth=10, relief='solid', labelmargins=20)
mystyle.configure('MyStyle.TLabelframe.Label', font=('courier', 35, 'bold'))
另请注意,在创建 Labelframe
小部件时也可以设置 borderwidth
和 relief
:
lblframe = ttk.Labelframe(root, text="Label frame", borderwidth=5, relief='solid', style='MyStyle.TLabelframe')