小编Ale*_*ing的帖子

有深度的ttk样式指南吗?

因此,从最近开始,我就开始涉足Tkinter了,我想让它创建本质上讲故事的应用程序。最终,我希望风格化大多数用于符合我设计整体美感的小部件。

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

由于使用Canvas小部件将需要我重新设计轮子:使图像像按钮一样工作,在我可以使用标签的情况下在图像上方绘制文本,我很想知道ttk样式是否可以节省我的工作更多编码。

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

不幸的是,尽管有不止两个教程来介绍如何使用ttk.Style方法,但是它们都没有详细介绍任何样式元素的作用或应该传递给style.configure的数据类型。

例如:

假设我要更改默认主题ttk.Button(类名称为TButton)。我可以像这样找出其布局组件:

style.layout("TButton")
Run Code Online (Sandbox Code Playgroud)

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

style.element_options("TButton.Label")
Run Code Online (Sandbox Code Playgroud)

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

style.configure("TButton", background = "BLACK")
Run Code Online (Sandbox Code Playgroud)

,但我似乎无法获得“ -emboss”之类的选项来完成任何事情。我知道某些选项在某些OS上无法执行任何操作,但是没有列出哪些选项在哪里起作用?为了配置“ -emboss”和其他元素,我还可能需要传递某种类型的数据:例如列表,元组等。在发生某些事情之前,我宁愿不要坐在这里猜测,也不愿在互联网上搜寻有关每个单独元素的信息。

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

python tkinter ttk

5
推荐指数
0
解决办法
1125
查看次数

标签 统计

python ×1

tkinter ×1

ttk ×1