ボタンを押すとtkウィンドウを更新したいのですが、目立ちます。助けていただければ幸いです。以下は私が試したことです。入力ボックスを変更して更新を押したときにtk.Label行を更新したいのですが、更新されません。
import Tkinter as tk
class MAIN(object):
def __init__(self, master, **kwargs):
frame = tk.Frame(master, borderwidth=5)
frame.grid()
et1 = tk.Entry(frame)
et1.insert(0, '10')
et1.grid(row=0,column=0,sticky=tk.W)
tk.Label(frame, text = et1.get()).grid(row=1, column=0, sticky=tk.W)
refresh = tk.Button(frame, text='Refresh', command = frame.update())
refresh.grid(row=2, column=0, sticky=tk.W)
root=tk.Tk()
app=MAIN(root)
root.mainloop()
どんな助けでも大歓迎です。ありがとう
編集:
update_idletasks()も使おうとしましたが、うまくいきませんでした。
sc0ttのヘルプからの回答:
import Tkinter as tk
class MAIN(object):
def __init__(self, master, **kwargs):
frame = tk.Frame(master, borderwidth=5)
frame.grid()
self.et1 = tk.Entry(frame)
self.et1.insert(0, 10)
self.et1.grid(row=0,column=0,sticky=tk.W)
self.label_contents = tk.StringVar()
self.label_contents.set(self.et1.get())
tk.Label(frame, textvariable=self.label_contents).grid(row=1, column=0, sticky=tk.W)
refresh = tk.Button(frame, text='Refresh', command = self.refresh_hit)
refresh.grid(row=2, column=0, sticky=tk.W)
def refresh_hit(self):
self.label_contents.set(self.et1.get())
root=tk.Tk()
app=MAIN(root)
root.mainloop()