我试图用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()
答案 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”在变量更新时更新标签。