如何更新Tkinter中的文本?

时间:2014-01-21 01:42:23

标签: python-2.7 text tkinter typeerror

我目前正在制作一个垄断游戏,我想展示我的玩家在标签上滚动的内容。我有一个文件dice.py,它有一个掷骰子的功能卷(使用random.randint(1,6)两次,并添加它们)。我使用while True来测试它,但它给了我这个错误:

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上找不到多少,所以有人能告诉我更新文本的语法吗?

1 个答案:

答案 0 :(得分:2)

canvas.create_text不会创建新标签。它在画布中创建一个新项(文本)并返回所创建项的id(一个int)。

您必须使用itemconfigure方法配置项目:

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