首页 > 解决方案 > tk 风格定制保存/存储在哪里?

问题描述

拿这个非常简单的代码示例

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

s = ttk.Style()
s.theme_use('vista')
s.map("Mod.TCombobox",fieldbackground=[('readonly', 'red')])

你能告诉我Mod.TCombobox自定义样式保存或存储在哪里吗?我的意思是,有没有办法检索所有可用的已定义样式选项的列表?(“标准”和“定制”都可能)

我尝试查看官方文档,但似乎找不到答案。

预先感谢您对我们的支持

(PS 我试着看了一下,s.element_names()但毫不奇怪,它不存在......)

编辑:

为了澄清一点,首先,我不是要求提供可用主题的列表(我知道可以使用 command 获得s.theme_names())。

也就是说,假设我现在定义了一个新规则,例如:

s.map("Mod.TEntry",fieldbackground=[('readonly', 'red')])

我要问的是:在这种情况下,我是否有命令或任何方式来检索自定义定义的 tk 样式规则列表,例如 ['Mod.TCombobox', 'Mod.TEntry'] ?(只要有可能,我什至会满足于包含自定义和非自定义样式规则定义的列表,将我的自定义样式与“标准”样式混合/一起,例如“TCombobox”、“TEntry”等。 ..)

同理,在使用样式布局命令时,例如:

s.layout('MyCustomTCB', s.layout('TCombobox'))

作为问题的第二部分:我在哪里或如何检索包含我创建的所有自定义样式布局的列表?

(PS 即使我不是在这里问这个,我也要感谢 Bryan Oakley,他为我提供了ttk 库源代码的链接,当然,这对于查看与标准内置 tk 主题风格有关的问题非常有用规则和布局。)

标签: pythonpython-3.xtkintertkttk

解决方案


推荐阅读