2014-03-26 41 views
-1

我正在使用tkinter GUI在骰子滾輪上工作。它具有各種類型骰子的列,以及擲骰子數量的行。每次重擲骰子時都需要更新約120個標籤。創建,更新和閱讀字符串的字典?

我試圖使用包含StringVars的多級字典刷新標籤,以避免必須單獨定義每個StringVar。

目前它是所有說

AttributeError: 'NoneType' object has no attribute 'tk'

下面是相關代碼:

from random import randint 

results = MultiLevelDictClass() 

def roll_dice(num,die): 
    result = 0 
    for dice in range(0,num,1): 
     result += randint(1,die) 
    return result 

def refresh(*args): 
    for dice in [2,4,6,8,10,12,20]: 
     for num in range(1,21,1): 
      results[dice][num] = StringVar() 
      results[dice][num].set(str(roll_dice(num,dice))) 

refresh() 

我知道n級字典的普遍反應是負面的,但問題適用於1級字典也是如此。

+0

http://stackoverflow.com/a/3966491/2276527 – Gogo

+0

@shaktimaan謝謝:),我想我只是問錯了問題。 –

+1

「洋蔥」類與這個問題有什麼關係? –

回答

0

您必須在之前創建根窗口創建StringVars。