到目前为止,在我编写的程序中,我使用了基本的 tkinter 小部件。然而,经过一番谷歌搜索,我发现了ttk
它的主题小部件。
根据Python Docs 站点上的文档,我只需要添加from tkinter.ttk import *
即可使用 ttk 小部件,而无需更改任何代码,因此对我来说似乎值得。
当然,唯一不起作用的是-bg
旗帜。但是,当我尝试使用ttk
样式时,我得到:
IndexError: list index out of range
最重要的是,尽管我在代码中没有写任何涉及range的代码。
这是代码的特定部分:
style = Style()
# stuff
style.map("rbstyle", background="grey")
# stuff
crBox = Label(win, width=6, textvariable=cr,
state='normal', relief='sunk', style="rbstyle")
这是输出:
Traceback (most recent call last):
File "C:\Users\James\Google Drive\Queens' Athletics\window.py", line 83, in <module>
style.map("rbstyle", background="grey")
File "C:\Python34\lib\tkinter\ttk.py", line 402, in map
self.tk.call(self._name, "map", style, *(_format_mapdict(kw))))
File "C:\Python34\lib\tkinter\ttk.py", line 111, in _format_mapdict
_format_optvalue(_mapdict_values(value), script)))
File "C:\Python34\lib\tkinter\ttk.py", line 85, in _mapdict_values
state[0] # raise IndexError if empty
IndexError: list index out of range
>>>
为什么我有这个错误?我完全按照 Python Docs 上的内容进行操作。