1

我希望能够操作将在 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”作为整数进行操作。

因此,如果您能指出我做错了什么,那么我会很高兴。

4

1 回答 1

3

在我看来,xp第一个片段中的变量范围不包括第二个片段。这意味着它们是真正不同的变量(恰好有一个非常相似的名称),因此第二个片段在没有StringVar可访问句柄的情况下运行,这是行不通的。

于 2011-08-08T02:08:54.453 回答