我希望能够操作一个将在Tk窗口中实时显示的整数。
我试过了:
xp = StringVar()
Label(master, textvariable=xp).pack()
xp.set(0)
然后,我尝试了:
xp.set(xp+1)
但是在这一行上它失败了,信息是:
Exception in Tkinter callback
File "/usr/lib/.../Tkinter.py", line 1413, in __call__
return self.func(*args)
File "rpg.py", line 26, in fight
xp.set(xp+1)
NameError: global name 'xp' is not defined
我希望能够增加“xp”值,并在窗口中实时显示。我还希望能够将“xp”作为一个整数来操作,使用乘法和指数等等。
所以,如果你能指出我做错了什么,那么我会很高兴。
答案 0 :(得分:3)
在我看来,第一个代码段中的xp
变量的范围不包含第二个代码段。这意味着它们实际上是不同的变量(恰好具有非常相似的名称),因此第二个代码段在没有StringVar
可访问句柄的情况下运行,这是行不通的。