Tkinter-Root-Fenster haben eine Methode namens after
, mit der eine Funktion geplant werden kann, die nach einer bestimmten Zeit aufgerufen wird. Wenn diese Funktion selbst after
aufruft, haben Sie ein automatisch wiederkehrendes Ereignis eingerichtet.
Hier ist ein funktionierendes Beispiel:
# for python 3.x use 'tkinter' rather than 'Tkinter'
import Tkinter as tk
import time
class App():
def __init__(self):
self.root = tk.Tk()
self.label = tk.Label(text="")
self.label.pack()
self.update_clock()
self.root.mainloop()
def update_clock(self):
now = time.strftime("%H:%M:%S")
self.label.configure(text=now)
self.root.after(1000, self.update_clock)
app=App()
Beachten Sie, dass after
die Funktion nicht garantiert genau zum richtigen Zeitpunkt ausführen. Es ist nur Zeitpläne der Job nach einer bestimmten Zeit ausgeführt werden. Wenn die App beschäftigt ist, kann es eine Verzögerung geben, bevor sie aufgerufen wird, da Tkinter single-threaded ist. Die Verzögerung wird typischerweise in Mikrosekunden gemessen.
Hier [Codebeispiel, wie man verwenden 'root.after()' einen Timer zu implementieren.] Ist (https://gist.github.com/zed/5440b9372a15d86b5c47) – jfs