我正试图为我的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中运行,如果这有任何区别的话。
谢谢!
答案 0 :(得分:4)
某些ttk主题仅在一个平台上受支持。例如,xpnative,winnative和vista仅适用于Windows。 “aqua”主题仅适用于OSX。我认为其他人可以在任何平台上运行。
如果您正在通过cygwin运行,那么您运行的python版本可能在编译时配置不同,因此它认为它在Linux而不是Windows上运行。因此,它无法访问Windows主题。
答案 1 :(得分:0)
我的猜测是你正在运行Linux或Mac,因为Vista是一个仅适用于Windows的主题。在这方面,可以根据您的操作系统使用可用的主题。