0

これまで私が書いてきたプログラムでは、基本的な 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 に書かれていることを正確に守りました。

4

0 に答える 0