Как я могу сделать таймер для обновления в 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()
Если я ставлю перед тем Run()
mainloop()
Холст не запускается. После того, как mainloop()
и Run()
не запустится.
mainloop(Run())
и Run()
начинается до Canvas
.
Бесконечные циклы 'while' заставляют Tkinter блокироваться. Вместо этого используйте 'Tk.after'. – Kevin
Кроме того, может возникнуть вопрос задать два отдельных вопроса, если вам нужен ответ «почему я получаю« NameError »? и «как я периодически обновляю таймер?» – Kevin