如何使定时器在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