繁体   English   中英

在Python 2.7 Tkinter中循环更改标签

[英]Looping in Python 2.7 Tkinter to change Label

我最近开始学习如何使用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()root.mainloop()自己的事件处理程序。 它等待并处理来自小部件而非用户代码块的事件。 要定期执行自己的代码块,可以使用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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM