Python/Tkinter倒计时不工作
它基本上只是一个带有按钮的标签,可以将计时器从30启动到0 我不知道为什么.after(1000,temporizador)没有完成他的工作,它只是停留在29,它应该重复这个函数,直到计数器达到0Python/Tkinter倒计时不工作,python,tkinter,Python,Tkinter,它基本上只是一个带有按钮的标签,可以将计时器从30启动到0 我不知道为什么.after(1000,temporizador)没有完成他的工作,它只是停留在29,它应该重复这个函数,直到计数器达到0 from Tkinter import * import time ventana = Tk() v = StringVar() v.set("30") def temporizador(): counter = 29 if counter <= 0: v.se
from Tkinter import *
import time
ventana = Tk()
v = StringVar()
v.set("30")
def temporizador():
counter = 29
if counter <= 0:
v.set("tiempo")
else:
v.set(str(counter))
counter -= 1
ventana.after(1000, temporizador)
etiqueta = Label(ventana, textvariable = v)
etiqueta.pack()
boton = Button(ventana, text="Empezar", command = temporizador)
boton.pack()
ventana.mainloop()
从Tkinter导入*
导入时间
文塔纳=Tk()
v=StringVar()
v、 集合(“30”)
def temporizador():
计数器=29
如果counter在函数的开头进行赋值“counter=29”,那么每次调用函数“temporizador”(我想是每秒),变量“counter”的值都是29
为了使其正常工作,您应该:
1) 删除函数temporizador开头的计数器赋值
2) 创建另一个函数,将counter的值设置为29,然后调用temporizador,如下所示:
def button_clicked():
counter = 29
temporizador()
3) 将按钮“boton”的命令设置为单击按钮,而不是临时化程序您在函数开头执行值分配“counter=29”,因此每次调用函数“temporizador”(我认为是每秒),变量“counter”的值都将是29
为了使其正常工作,您应该:
1) 删除函数temporizador开头的计数器赋值
2) 创建另一个函数,将counter的值设置为29,然后调用temporizador,如下所示:
def button_clicked():
counter = 29
temporizador()
3) 将按钮“boton”的命令设置为单击按钮,而不是临时化或无需担心,我刚刚发现每次函数重复自身时,计数器都会在29上重新启动,所以我只创建了一个全局变量,在本例中它现在起作用,要么自己提供答案,要么删除问题。不管怎样,我刚刚发现每次函数重复时计数器都是从29开始的,所以我只创建了一个全局变量,现在它可以工作了。在这种情况下,要么自己提供答案,要么删除问题。