python 脚本中无法访问某些 ttk 样式

Some ttk styles not accessible from within python script

我正在尝试为我的 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。其他人,我认为,运行 在任何平台上。

如果您 运行ning 通过 cygwin,您 运行ning 的 python 版本可能在编译时配置不同,因此它认为它是 运行宁 linux 而不是 windows。因此,它无法访问 windows 主题。

我猜你是 运行 Linux 或 Mac,因为 Vista 是仅适用于 Windows 的主题。在这方面,可以根据您的操作系统使用可用的主题。