[英]Display a label depending on a timer with tkinter
我想顯示 i 的值,休息 2 秒,然后顯示 i 的新值。
但是使用此代碼,它只顯示 i 的最后一個值,甚至不顯示原始值。 任何人都可以幫助我嗎? 謝謝
from tkinter import *
from time import sleep
root=Tk()
touracc=StringVar()
printer=Label(root, textvariable=touracc,bg="#85c17e")
touracc.set('yo')
for i in range(2):
touracc.set(str(i))
sleep(2)
printer.pack()
root.mainloop()
這是因為sleep()
會阻止 tkinter 更新。 使用after()
代替:
from tkinter import *
root=Tk()
touracc=StringVar()
printer=Label(root, textvariable=touracc,bg="#85c17e")
printer.pack()
touracc.set('yo')
def update(n=0):
if n < 2:
touracc.set(n)
root.after(2000, update, n+1)
root.after(2000, update)
root.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.