Python/Tkinter倒计时不工作

2024-04-20 04:28:38 发布

您现在位置:Python中文网/ 问答频道 /正文

它基本上就是一个标签,上面有一个按钮,可以从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.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()

Tags: 函数fromimportcounter计数器标签按钮pack
1条回答
网友
1楼 · 发布于 2024-04-20 04:28:38

你在函数的开头做了值赋值“counter=29”,所以每次调用函数“temporizador”(我想是每秒),变量“counter”的值都是29。你知道吗

为了使其工作,您应该:

1)删除函数temporizador开头对counter的赋值

2)创建另一个函数,将counter的值设置为29,然后调用temporizador,如下所示:

def button_clicked():
    counter = 29
    temporizador()

3)将按钮“boton”的命令设置为单击按钮,而不是临时按钮

相关问题 更多 >