Что такое Timer?
gui.Timer — это объект, который позволяет вызывать функцию автоматически через равные промежутки времени, без участия пользователя.
Где он применяется:
- ⏱️ Секундомеры и таймеры обратного отсчёта
- 🎮 Анимация и движение объектов в игре
- 📊 Автообновление данных (курсы валют, погода)
- ⏰ Напоминания и отложенные действия
Простейший пример: таймер каждую секунду выводит случайное число на лейбл:
Свойства таймера
У таймера есть два основных свойства:
interval— интервал срабатывания в миллисекундах (1 секунда = 1000 мс)running— запущен ли таймер в данный момент (только для чтения)
Интервал можно менять в любой момент, даже когда таймер уже запущен.
Событие on_tick
Главное событие таймера — on_tick. Функция, присвоенная этому свойству, будет вызываться каждый раз, когда проходит указанный интервал:
Методы таймера
Таймер имеет три метода для управления:
start()— запускает таймер (если он ещё не запущен)stop()— останавливает таймерrestart()— останавливает и запускает заново (полезно при изменении интервала)
Пример с кнопками запуска и остановки — секундомер:
Однократное срабатывание с задержкой
Таймер можно использовать для выполнения действия один раз через заданную задержку — для этого нужно остановить его после первого срабатывания:
Важное замечание
Timer не является виджетом. Он не отображается на экране и не требует вызова win.add_child(). Его достаточно просто создать и настроить:
Таймер живёт независимо от окон и продолжает работать, даже если все окна закрыты (пока работает программа).