Поиск…


Синтаксис

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

параметры

параметр Описание
delay_ms Время (миллисекунды), которое задерживает вызов функции callback функции
Перезвоните Функция, вызываемая после данного delay_ms . Если этот параметр не задан, .after действует аналогично time.sleep (в миллисекундах)

замечания

Синтаксис принимает widget принятый методом. .after он был создан (т.е. widget=tk.Label(parent) )

.после()

.after(delay, callback=None) - это метод, определенный для всех виджетов tkinter. Этот метод просто вызывает функцию callback функции после заданной delay в ms. Если функция не указана, она действует подобно time.sleep (но в миллисекундах вместо секунд)

Вот пример того , как создать простой таймер с помощью 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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow