簡體   English   中英

如何在Tkinter中刷新GUI窗口

[英]How to refresh the GUI window in Tkinter

我試圖用Tkinker制作一個簡單的GUI,當你按下一個按鈕時,它會在標簽上添加1。 但是,標簽只保留為0.有沒有辦法可以刷新它以使其保持最新狀態?

繼續我到目前為止所擁有的:

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()

clicks += 1僅更改變量clicks

使用Label.config(text=...)Label['text'] = ...來更改標簽文本。

def click():
    global clicks
    clicks += 1
    Number.config(text=clicks) # <------
    print 'ok', clicks

你幾乎擁有它,但對於你的標簽,你不想使用“文本”,你想要“textvariable”。 但是,這會將StringVar作為變量,這會強制一些繁忙的工作:

Window = Tk()
strclicks = StringVar()
Number = Label(textvariable=clicks)

並在click()中:

    clicks += 1
    strclicks.set(clicks)

使用“text”在創建時評估變量; 變量更新時,“textvariable”更新標簽。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM