1
Tk 창에 실시간으로 표시 될 정수를 조작하고 싶습니다.Tkinter : 어떻게 업데이트 할 수있는 텍스트 필드를 배치합니까?
내가 시도 :
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"를 곱셈과 지수 등으로 정수로 조작 할 수 있기를 원합니다.
내가 잘못하고있는 것을 지적 할 수 있다면 기쁠 것입니다.
네, 같은 클래스이지만 다른 기능을합니다. 변수를 클래스의 둘 이상의 함수에서 사용할 수 있도록 선언하려면 어떻게해야합니까? – thatbennyguy
@thatbennyguy 변수를 "self"에 할당하면 클래스의 어느 위치에서나 액세스 할 수 있습니다. "xp"를 "self.xp"로 바꿉니다. – mesilliac
http://docs.python.org/tutorial/classes.html에 따르면, 그리고 (파이썬 프로그래머가 아닌 프로그래머이므로 조심해서!)'xp'를'self .__ xp'로 대체하십시오. –