5

因此,我最近开始涉足 Tkinter,并且在我的脑海中创建了一个本质上是讲故事的应用程序。最终,我想对大多数用于符合我设计的整体美感的每个小部件进行风格化。

最初,我虽然必须在 tkinter 的 Canvas 小部件中创建大部分应用程序,因为只有它允许我想要的自定义级别。令我尴尬的是,我刚刚偶然发现了 ttk 及其 ttk.Style 方法。

由于使用 Canvas 小部件将需要我重新发明一些轮子:让图像像按钮一样工作,当我可以使用标签时在图像顶部绘制文本我很好奇 ttk 样式是否会帮我做更多的编码。

是否有关于 ttk 样式的深入教程?

不幸的是,虽然有很多关于使用 ttk.Style 方法的教程,但没有一篇详细说明任何样式元素的作用或我应该将什么类型的数据传递给 style.configure。

例如:

假设我要更改 ttk.Button 的默认主题(类名为 TButton)。我可以像这样弄清楚它的布局组件:

style.layout("TButton")

这给了我:TButton.TButton、TButton.Focus、TButton.Padding 和 TButton.Label。从这里我可以确定这些布局组件的哪些样式元素可以更改:

style.element_options("TButton.Label")

这给了我一个很像的列表:('-space','-emboss','-image','-background')。玩弄配置方法,我可以弄清楚如何更改“-image”和“-background”元素:

style.configure("TButton", background = "BLACK")

,但我似乎无法获得像“-emboss”这样的选项来做很多事情。我知道某些选项在某些操作系统上没有做任何事情,但是在某个地方没有列出哪些选项在哪里工作?也有可能,要配置“-emboss”和其他元素,我需要传入某种数据:如列表、元组等。我宁愿不坐在这里猜测,直到某些东西起作用,我也不想在互联网上搜索有关每个单独元素的信息。

肯定有一些文件可以作为这些信息的纲要吗?如果没有这样的文档,有谁知道我如何查看任何特定 ttk 小部件的默认主题并由此收集我应该将哪种数据类型插入到我的 style.configure 调用中?

4

0 回答 0