如果問題是:「您如何更新Label小部件?」
然後答案是與小部件的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在這裏有一個「不要打電話給我,我會給你打電話」的政策。你給它一個回調,並在正確的事件觸發時調用它。 John Gaines Jr的答案中的鏈接顯示了它是如何完成的。 – 2012-04-19 22:20:48