es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo hacer que este temporizador de tkinter llegue a 0 antes de sonar?

Tengo una cuenta regresiva en tkinter hecha con una etiqueta. La función recibe una cantidad de segundos y comienza una cuenta regresiva hasta cero. Cuando termina, suena una alarma.

Problema: La alarma suena en el momento correcto, pero la cuenta regresiva se queda en 1 segundo durante algunos segundos más antes de caer a 0. ¿Cómo podría corregir esto?

def cuenta_regresiva(self, segundos):
self.guitimer[‘text’] = f’00:{segundos}’
if segundos > 0:
self.after(1000, self.cuenta_regresiva, segundos-1)
else:
play(AudioSegment.from_wav(“assets/sounds/notification.wav”))

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Solución: Para solucionar este problema, puedes agregar una espera después de que se active la alarma antes de restablecer la etiqueta a 0. Esto se puede hacer agregando una llamada a time.sleep() después de que se active la alarma.

        def cuenta_regresiva(self, segundos):
        self.guitimer['text'] = f'00:{segundos}'
        if segundos > 0:
            self.after(1000, self.cuenta_regresiva, segundos-1)
        else:
            play(AudioSegment.from_wav("assets/sounds/notification.wav"))
            time.sleep(1)
            self.guitimer['text'] = '00:00'
    

Comments are closed.