我試圖用Tkinker製作一個簡單的圖形用戶界面,當你按下按鈕時,它會將1添加到標籤上的文本中。但是,標籤只保留在0.是否有方法可以刷新它以保持最新?如何刷新Tkinter的GUI窗口
繼承人是我迄今爲止:
from Tkinter import *
clicks = 0
def click():
global clicks
global Window
clicks += 1
print 'ok', clicks
def close_window():
global Window
Window.destroy()
Window = Tk()
Number = Label(text = clicks)
close = Button(Window , text='exit' , command = close_window)
button = Button(Window,text = 'clickme' ,command = click)
button.pack()
close.pack()
Number.pack()
Window.mainloop()
對於這樣一個簡單的問題,IMO文本變量是矯枉過正的。無論是否帶有文本變量,更新都需要一個函數調用(widget.configure或variable.set)。文本變量的使用需要額外的對象,而不是直接配置標籤而沒有真正的優勢。 –
@BryanOakley這是一個合理的位置。在開始使用Python之前,我曾經是一名長期的Tcl用戶,所以我對文本變量的態度受到了影響。在Tcl中,變量不需要是一個特殊的對象,它只是工作,沒有必要的調用。實際上,我在回答其他答案之前寫了我的答案,並將其作爲確認進行測試,並重新發現了對StringVar的需求。我編輯我的答案使用StringVar,實際上是正確的,但我必須同意使用.config在這種情況下更簡單。 –