Fehlermeldung beim Beenden Countdown Timer
Verfasst: Sonntag 5. Juni 2016, 23:15
Hallo liebe Python-Gemeinde,
ich bin dabei, einen kleinen runterzählenden Countdowntimer in Minuten und Sekunden (mit einem Start- und Quit-Button) zu erstellen. Es läuft eigentlich alles ganz gut, das Script startet und macht auch was es tun soll. Nur beim Beenden des Scripts bringt er mir folgende Fehlermeldung:
Leider hat mir die SuFu nicht weiterhelfen können, Lösungsansätze in Google hab ich gefunden, aber bei der Umsetzung bin ich gescheitert
Schon ewig nicht mehr programmiert. Ich habe herausgefunden dass die update()-Methode nicht ausgeführt werden kann, da ich das GUI bereits beendet habe, außerdem sollte ich besser die after()-Methode nutzen anstatt der update()-Methode. Statt root.update() in der Funktion count_down, probierte ich root.after(1, count_down) und über root.mainloop() root.after_idle(count_down), im Code gekennzeichnet als Kommentar.
Ich hoffe Ihr könnt mir weiterhelfen und bedanke mich im Voraus.
IDE: PyCharm
Hier mein Code:
ich bin dabei, einen kleinen runterzählenden Countdowntimer in Minuten und Sekunden (mit einem Start- und Quit-Button) zu erstellen. Es läuft eigentlich alles ganz gut, das Script startet und macht auch was es tun soll. Nur beim Beenden des Scripts bringt er mir folgende Fehlermeldung:
Code: Alles auswählen
_tkinter.TclError: can't invoke "update" command: application has been destroyedIch hoffe Ihr könnt mir weiterhelfen und bedanke mich im Voraus.
IDE: PyCharm
Hier mein Code:
Code: Alles auswählen
from tkinter import *
from tkinter import ttk
import time
fango1 = 20
def count_down():
for t in range(fango1*60, -1, -1):
sf = "{:02d}:{:02d}".format(*divmod(t, 60))
time_str.set(sf)
root.update() #root.after(1, count_down)
time.sleep(1)
def exit():
root.destroy()
root = Tk()
root.wm_title('Übersicht Belegung')
time_str = StringVar()
sf2 = "{}:{:02d}".format(fango1, 0)
timeText = ttk.Label(root, textvariable=time_str, font=("Helvetica", 50))
time_str.set(sf2)
timeText.grid(row=0,column=1)
startButton = ttk.Button(root, text='Start', command=count_down)
startButton.grid(row=0,column=3)
quitButton = ttk.Button(root, text='Quit', command=exit)
quitButton.grid(row=0,column=6)
style = ttk.Style()
style.configure("bezeichnungen.TLabel", foreground="black", background="yellow", font=('Helvetica', 30))
bez_1 = ttk.Label(root, text='Fango 1', style="bezeichnungen.TLabel")
bez_1.grid(row=0,column=0)
#root.after_idle(count_down)
root.mainloop()