질문 : "라벨 위젯을 어떻게 업데이트합니까?"
그러면 위젯의 configure
메소드가 사용됩니다.
# Tkinter in Python 2.7 & tkinter in 3.2
import Tkinter as tk
class GUI(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
bF = tk.Frame(self, bd=8, relief='sunken')
bF.pack(expand='true', fill='x')
changeButton = tk.Button(bF, text='Change', bd=4, fg='white',
relief='groove', activebackground='green',
command=self.change_label)
changeButton.pack()
self.entryLabel = tk.Label(self, text='Hello')
self.entryLabel.pack()
self.mEntry = tk.Entry(self, bd=4, relief='sunken')
self.mEntry.pack()
def change_label(self):
data = self.mEntry.get()
self.entryLabel.configure(text=data)
gui = GUI()
gui.mainloop()
당신은 수업이 예제처럼 GUI를 확인하는 것이 좋습니다
;
그런 식으로 자기를 사용할 수 있습니다. 접두어는 다른 메소드에서 만들어진 위젯을 나타냅니다.
예를 들어, 'mt'가 control variable 인 것처럼 보일 수 있습니다.
대답은 여전히 클래스를 만드는 것이므로 자기를 사용할 수 있습니다. 접두사.
import Tkinter as tk
class GUI(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
bF = tk.Frame(self, bd=8, relief='sunken')
bF.pack(expand='true', fill='x')
var = tk.StringVar()
var.set('Hello')
entryLabel = tk.Label(self, textvariable=var)
entryLabel.pack()
mEntry = tk.Entry(self, bd=4, relief='sunken', textvariable=var)
mEntry.pack()
gui = GUI()
gui.mainloop()
거의 당신이 당신의 자신을 만들려고하는 것처럼 : 당신은 당신이 엔트리 위젯의 내용을 변경으로
라벨을 업데이트 할하지 않는 한
는 제어 변수 가능성이 필요하지 않습니다 이벤트 루프는 Tkinter의 직업이지 당신 것이 아닙니다. Tkinter는 "전화하지 마세요, 제가 전화 할게"정책이 있습니다. 콜백 (callback)을 주면 올바른 이벤트가 발생하면 호출합니다. 존 게인즈 주니어 (John Gaines Jr)의 대답은 그것이 어떻게 완료되었는지를 보여줍니다. –