我正在尝试为我的 Tkinter gui 使用 ttk 样式。
当我在命令行上运行时
>>> from ttk import *
>>> print Style().theme_names()
('winnative', 'clam', 'alt', 'default', 'classic', 'vista', 'xpnative')
这看起来很好,因为我想要 vista
风格。但是,当运行包含以下行的脚本时:
from ttk import *
print Style().theme_names()
输出是:
('clam', 'alt', 'default', 'classic')
所以当我尝试时:
from ttk import *
Style().theme_use("vista")
我得到:
File "test.py", line 2, in <module>
Style().theme_use("vista")
File "/usr/lib/python2.7/lib-tk/ttk.py", line 534, in theme_use
self.tk.call("ttk::setTheme", themename)
_tkinter.TclError: can't find package ttk::theme::vista
不确定它可能是什么,而且我在谷歌搜索上运气不佳。
如果有任何不同,我会在 cygwin 下的 Console2 中运行。
谢谢!
最佳答案
某些 ttk 主题仅在一个平台上受支持。例如,xpnative、winnative 和 vista 只能在 Windows 上运行。 “aqua”主题仅适用于 OSX。我认为其他人可以在任何平台上运行。
如果您通过 cygwin 运行,则您运行的 python 版本可能在编译时配置不同,因此它认为它是在 linux 而不是 windows 上运行。因此,它无法访问 Windows 主题。
关于python - 某些 ttk 样式无法从 python 脚本中访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28142040/