tkinter
Отсрочка функции
Поиск…
Синтаксис
- 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