如何使定時器在Canvas
中更新?Tkinter GUI秒錶/定時器
在create.text(position, **options)
默認位置,可以用anchor=tk.CENTER
理應覆蓋,但我得到一個:
NameError: name 'tk' is not defined
,如果我嘗試添加anchor
選項。
import time
from Tkinter import *
run = True; s=0; m=0; h=0
def Run():
global run, s, m, h
while run == True:
time.sleep(1)
s+=1
if s == 59:
m+=1; s=-1
elif m == 59:
h+=1; m=-1
master = Tk()
w = Canvas(master, width=1500, height=800)
w.pack()
x.create_text(
[750, 400], anchor=tk.CENTER, text="%s:%s:%s" % (s, m, h), font=("Consolas", 400)
)
mainloop()
Run()
如果我mainloop()
畫布沒有啓動之前把Run()
。在mainloop()
和Run()
未啓動後。
mainloop(Run())
和Run()
在Canvas
之前開始。
無限'while'循環使Tkinter鎖定。考慮使用'Tk.after'來代替。 – Kevin 2014-11-24 19:30:03
另外,如果你需要回答兩個單獨的問題,「爲什麼我會得到一個NameError?」,這可能是值得的。和「我如何定期更新計時器?」 – Kevin 2014-11-24 19:31:45