質問が「ラベルウィジェットをどのように更新しますか?」の場合
答えはウィジェットの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」は制御変数であると言っているように見えます。
答えはまだクラスを作ることです、そうすればあなたは自己を使うことができます。プレフィックス。
エントリウィジェットのコンテンツを変更したときにラベルを更新する必要がない限り、制御変数はおそらく必要ありません。
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()