Suche…


Syntax

  • widget.after (delay_ms, callback, * args)

Parameter

Parameter Beschreibung
delay_ms Zeit (Millisekunden) , die den Aufruf der Funktion verzögert callback
Ruf zurück Funktion, die nach den angegebenen delay_ms . Wenn dieser Parameter nicht angegeben wird, .after ähnlich wie time.sleep (in Millisekunden).

Bemerkungen

Die Syntax setzt voraus, dass ein widget das von der Methode .after akzeptiert wurde, zuvor erstellt wurde (dh widget=tk.Label(parent) ).

.nach dem()

.after(delay, callback=None) ist eine für alle Tkinter-Widgets definierte Methode. Diese Methode ruft einfach die Funktion callback nach der angegebenen delay in ms. Wenn keine Funktion angegeben ist, time.sleep es sich ähnlich wie time.sleep (aber in Millisekunden statt Sekunden)

Hier ein Beispiel, wie Sie einen einfachen Timer mit after erstellen:

# import tkinter
try:
    import tkinter as tk
except ImportError:
    import Tkinter as tk

class Timer:
    def __init__(self, parent):
        # variable storing time
        self.seconds = 0
        # label displaying time
        self.label = tk.Label(parent, text="0 s", font="Arial 30", width=10)
        self.label.pack()
        # start the timer
        self.label.after(1000, self.refresh_label)

    def refresh_label(self):
        """ refresh the content of the label every second """
        # increment the time
        self.seconds += 1
        # display the new time
        self.label.configure(text="%i s" % self.seconds)
        # request tkinter to call self.refresh after 1s (the delay is given in ms)
        self.label.after(1000, self.refresh_label)

if __name__ == "__main__":
    root = tk.Tk()
    timer = Timer(root)
    root.mainloop()


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow