如果问题是:“您如何更新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