在Python2.7Tkinter中循环以更改标签

在Python2.7Tkinter中循环以更改标签,python,python-2.7,tkinter,Python,Python 2.7,Tkinter,我最近开始学习如何使用Python的(2.7)Tkinter,我遇到了Label小部件。我希望能够更改该小部件显示的内容(不是编写新文本,而是替换以前的文本。这是我尝试的: number=0 from Tkinter import * root = Tk() var = StringVar() number=number+1 label = Label( root, textvariable=var, relief=RAISED ) var.set(str(number)) label.pack

我最近开始学习如何使用Python的(2.7)Tkinter,我遇到了Label小部件。我希望能够更改该小部件显示的内容(不是编写新文本,而是替换以前的文本。这是我尝试的:

number=0
from Tkinter import *
root = Tk()
var = StringVar()
number=number+1
label = Label( root, textvariable=var, relief=RAISED )
var.set(str(number))
label.pack()
root.mainloop()
当我运行它时,它只显示“1”。我知道它不会循环遍历数字,但不会。mainloop()继续循环代码?我将如何使此代码正常工作,这将取代先前显示的文本行,还是在先前显示的文本行下方写入新的文本行?

root.mainloop()
是tkinter自己的事件处理程序。它等待并处理来自小部件的事件,而不是用户代码块。要定期执行自己的代码块,可以使用
root.after()

root.mainloop()
是tkinter自己的事件处理程序。它等待和处理来自小部件的事件,而不是用户代码块。要定期执行自己的代码块,可以使用
root.after()

from Tkinter import *

root = Tk()
var = StringVar()
Label(root, textvariable=var, relief=RAISED).pack()

def update_number(value):
    var.set(value)
    root.after(1000, update_number, value+1) # run again 1 second later

update_number(0) # initiate the update process
root.mainloop()