Zoeken…


Syntaxis

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

parameters

Parameter Beschrijving
delay_ms Tijd (milliseconden) die de oproep tot de functie callback heeft vertraagd
Bel terug Functie die wordt aangeroepen na de gegeven delay_ms . Als deze parameter niet wordt gegeven, .after werkt vergelijkbaar met time.sleep (in milliseconden)

Opmerkingen

Syntaxis gaat ervan uit dat een widget geaccepteerd door de methode. .after eerder is gemaakt (dwz widget=tk.Label(parent) )

.na()

.after(delay, callback=None) is een methode die is gedefinieerd voor alle tkinter-widgets. Deze methode roept eenvoudigweg de functie callback na de gegeven delay in ms. Als er geen functie wordt gegeven, werkt deze vergelijkbaar met time.sleep (maar in milliseconden in plaats van seconden)

Hier is een voorbeeld van het maken van een eenvoudige timer met behulp van after :

# 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow