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

最初のスニペットの変数のスコープにxp2 番目のスニペットが含まれていないように見えます。これは、それらが実際には異なる変数であることを意味し (たまたま非常によく似た名前を持っています)、2 番目のスニペットはStringVarアクセス可能なものへのハンドルなしで実行されますが、これは機能しません。

于 2011-08-08T02:08:54.453 に答える