如何在Tkinter中刷新GUI窗口

时间:2013-12-14 05:18:02

标签: python 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()

2 个答案:

答案 0 :(得分:3)

clicks += 1仅更改变量clicks

使用Label.config(text=...)Label['text'] = ...更改标签文字。

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

答案 1 :(得分:0)

你几乎拥有它,但是对于你的标签你不想使用“文本”,你想要“textvariable”。但是,这会将StringVar作为变量,这会强制进行一些繁忙的工作:

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

并在click()中:

    clicks += 1
    strclicks.set(clicks)

使用“text”在创建时评估变量; “textvariable”在变量更新时更新标签。