所以我最近开始涉足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')。使用configure方法我可以弄清楚如何更改“-image”和“-background”元素:
style.configure("TButton", background = "BLACK")
,但我似乎无法获得像“-emboss”这样的选项来做很多事情。我知道某些选项在某些操作系统上没有做任何事情,但是哪个列表中哪些选项无处可用?也有可能,为了配置“-emboss”和其他元素,我需要传递某种数据:如列表,元组等。我宁可不坐在这里猜测,直到有效的方式,我宁愿不在互联网上搜索每个元素的信息。
当然有一些文件可以作为这些信息的汇编吗?如果没有这样的文档,有没有人知道如何查看任何特定ttk小部件的默认主题并收集哪些数据类型我应该插入我的style.configure调用?< / p>