有什么办法可以改变 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 小部件时也可以设置 borderwidthrelief

lblframe = ttk.Labelframe(root, text="Label frame", borderwidth=5, relief='solid', style='MyStyle.TLabelframe')