Recherche…


Syntaxe

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

Paramètres

Paramètre La description
delay_ms Temps (millisecondes) qui retarde l'appel à la fonction callback
rappeler Fonction appelée après le delay_ms donné. Si ce paramètre n'est pas renseigné, .after agit de manière similaire à time.sleep (en millisecondes)

Remarques

La syntaxe suppose qu'un widget accepté par la méthode .after a déjà été créé (ie widget=tk.Label(parent) )

.après()

.after(delay, callback=None) est une méthode définie pour tous les widgets tkinter. Cette méthode appelle simplement la fonction callback après le delay donné en ms. Si aucune fonction n'est donnée, elle agit de manière similaire à time.sleep (mais en millisecondes au lieu de secondes)

Voici un exemple de la façon de créer une minuterie simple en utilisant 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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow