如何自定义 tkinter/ttk 小部件和框架的边框颜色?

Posted

技术标签:

【中文标题】如何自定义 tkinter/ttk 小部件和框架的边框颜色?【英文标题】:How to customise the border color of tkinter/ttk widgets and frames? 【发布时间】:2011-05-06 11:57:28 【问题描述】:

有没有办法自定义Tkinter/ttk 小部件或框架的边框颜色?

【问题讨论】:

【参考方案1】:

是的,您可以创建自己的样式并将其应用到小部件或配置现有样式的属性。

一些文档和示例在官方文档中,特别是关于ttk.Style 的部分。

可以在tkdocs.com 找到有关使用样式(适用于多种语言)的更多信息。

【讨论】:

我可以看到很多改变小部件属性的方法,但没有一个是指小部件的边框颜色。我想知道您是否正在考虑 Python Tkinter/ttk 包装器不支持的特定 Tcl/Tix 功能? @Malcolm:我认为整个 tcl/tk/ttk 接口都暴露给了 Tkinter。不幸的是,展示如何配置样式不能只用几行代码来完成,这有点太复杂了。然而,为了获得灵感,请看一下这段代码,它展示了如何创建一个带圆角的框架:svn.python.org/projects/python/branches/py3k/Demo/tkinter/ttk/…。如果你想用 python 2.7 运行它,你需要调整导入。 谢谢!你的演示真的让我对 TKinter/ttk 的力量大开眼界。对于那些关注这个线程的人,这里是使用 Python 2.7 运行 Bryan 的示例所需的更改 - 将前 2 个导入语句更改为:import Tkinter as tkinter;导入ttk @Malcolm:可能很少有人意识到 tk 的强大功能,尤其是主题小部件。不幸的是,没有很多文档可以根据小部件状态进行具有自定义高光的圆角之类的创意操作,但这是可能的。你当然可以制作一个基于 Tkinter 的应用程序,如果你付出一点努力,没有人 会知道它是基于 Tkinter 的。专家们会非常惊讶。 我被隐藏在 Tkinter 表面之下的力量所震撼。引用:“你当然可以制作一个基于 Tkinter 的应用程序,如果你付出一点努力,没人会知道它是基于 Tkinter 的。” ... 我同意。这正是我们正在努力做的 :) 感谢您的所有帮助!

以上是关于如何自定义 tkinter/ttk 小部件和框架的边框颜色?的主要内容,如果未能解决你的问题,请参考以下文章

设置 tkinter ttk 框架的背景颜色

强制 Tkinter.ttk Treeview 小部件在缩小其列宽后调整大小

Python Tkinter TTK 带标签的分隔符

tkinter.ttk — Tk themed widgets

如何在 tkinter.ttk Treeview 上完全更改背景颜色

python 3 - tkinter - ttk treeview:查看列文本