[英]How to customise the border color of tkinter/ttk widgets and frames?
有没有办法自定义Tkinter/ttk
小部件或框架的边框颜色?
是的,您可以创建自己的样式并将其应用于窗口小部件或配置现有样式的属性。
一些文档和示例在官方文档中,特别是关于ttk.Style的部分。
有关使用样式(多种语言)的更多信息,请访问tkdocs.com 。
关于 ttk.Frames 的边框:代替 styles,我能想到的最好的方法是在 ttk.Frame 中插入一个 ttk.Frame。 外框将使用标准的“背景”属性和选择的边框颜色,以及等于所需边框厚度的填充。 然后内部框架遮住了中间,所以你只有在边缘周围有一条线。 有效,但似乎有点笨拙(如果您要创建许多小部件/边框,则使用起来会少一些)。
我已经搜索了很多,但没有找到或想出一种使用样式来更改 ttk.Frame 边框颜色的方法。 使用类似style.configure( 'SeletectedItem.TFrame', highlightcolor='#78F', highlightthickness=2 )
或style.configure( 'SeletectedItem.TFrame', highlightbackground='#78F', highlightcolor='#78F', highlightthickness=2, borderwidth=2 )
(在常规 Tk.Frame 上工作的配置选项)似乎没有做任何事情。 使用style.layout()
我发现只有[('Frame.border', {'sticky': 'nswe'})]
,而从style.element_options('TFrame.border'
) 那里只有('-relief',)
. 我不知道我是否使用了错误的选项名称或语法(或者对于不同的小部件类有哪些选项可用于.configure()
),或者 styles 是否无法做到这一点。 如果有人有额外的信息或知道是否可以这样做,我很感兴趣。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.