2014-01-21 60 views
0

我目前正在製作壟斷遊戲,我想展示我的玩家在標籤中滾動的內容。我有一個文件dice.py,它有一個滾動擲骰子的功能卷(使用兩次random.randint(1,6)並添加它們)。我用一個while True只是爲了測試它,但它給我這個錯誤:如何更新Tkinter中的文本?

TypeError: 'int' object does not support item assignment 

當我做

str = '' 
strlabel = canvas.create_text(553, 275, text = str, fill='snow3', font=('Times New Roman', 24)) 
while True: 
    roll = dice.roll() 
    str = 'You just rolled a %d!' %(roll) 
    strlabel["text"] = "hey" 
    var2 = raw_input() 

的raw_input的只是讓暫停在每個輥之間。我在Tkinter上找不到太多,所以有人可以告訴我更新文本語法?

回答

2

canvas.create_text不會創建新標籤。它在畫布中創建一個新項目(文本)並返回創建項目的id(一個int)。

您必須使用itemconfigure方法配置的項目:

canvas.itemconfigure(strlabel, text='You just rolled a %d!'%(roll)) 
相關問題