Класс QBasicTimer
Класс QBasicTimer предоставляет события таймера для объектов. Подробнее...
| Заголовок: | #include <QBasicTimer> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Открытые функции
| QBasicTimer(QBasicTimer &&other) | |
| QBasicTimer() | |
| QBasicTimer & | operator=(QBasicTimer &&other) |
| ~QBasicTimer() | |
| bool | isActive() const |
| void | start(int msec, QObject *object) |
| void | start(int msec, Qt::TimerType timerType, QObject *obj) |
| void | stop() |
| void | swap(QBasicTimer &other) |
| int | timerId() const |
Подробное описание
Это быстрый, легкий и низкоуровневый класс, используемый Qt внутри. Мы рекомендуем использовать более высокий уровень класса QTimer, а не этот класс, если вы хотите использовать таймеры в своих приложениях. Обратите внимание, что этот таймер является повторяющимся таймером, который будет отправлять последующие события таймера, пока не будет вызвана функция stop().
Для использования этого класса создайте QBasicTimer и вызовите его функцию start() с интервалом таймаута и указателем на подкласс QObject. При истечении времени таймера он отправит событие таймера подклассу QObject. Таймер можно остановить в любое время, используя stop(). isActive() возвращает true для таймера, который работает; т.е. он был запущен, не достиг времени таймаута и не был остановлен. Идентификатор таймера можно получить с помощью timerId().
Объекты этого класса не могут быть скопированы, но могут быть перемещены, поэтому вы можете поддерживать список основных таймеров, храня их в контейнере, который поддерживает только перемещаемые типы, например, std::vector.
Пример Wiggly использует QBasicTimer для перерисовки виджета через равные промежутки времени.
См. также QTimer, QTimerEvent, QObject::timerEvent(), Таймеры и Пример Wiggly.
Документация по функциям-членам
void QBasicTimer::swap(QBasicTimer &other)
Меняет местами строку other с этой строкой или lhs с rhs. Эта операция очень быстрая и никогда не терпит неудачу.
Эта функция была введена в Qt 5.14.
[since 5.14] QBasicTimer::QBasicTimer(QBasicTimer &&other)
Перемещающее создание основного таймера из other, который остается неактивным.
Эта функция была введена в Qt 5.14.
См. также isActive() и swap().
QBasicTimer::QBasicTimer()
Создает основной таймер.
См. также start().
[since 5.14] QBasicTimer &QBasicTimer::operator=(QBasicTimer &&other)
Перемещающее присваивание other этому основному таймеру. Таймер, ранее представленный этим основным таймером, останавливается. other остается неактивным.
Эта функция была введена в Qt 5.14.
См. также stop(), isActive() и swap().
QBasicTimer::~QBasicTimer()
Удаляет основной таймер.
bool QBasicTimer::isActive() const
Возвращает true, если таймер работает и не был остановлен; в противном случае возвращает false.
void QBasicTimer::start(int msec, QObject *object)
Запускает (или перезапускает) таймер с таймаутом msec миллисекунд. Таймер будет Qt::CoarseTimer. См. Qt::TimerType для получения информации о различных типах таймеров.
Указанный object получит события таймера.
См. также stop(), isActive(), QObject::timerEvent() и Qt::CoarseTimer.
void QBasicTimer::start(int msec, Qt::TimerType timerType, QObject *obj)
Это перегруженная функция.
Запускает (или перезапускает) таймер с таймаутом msec миллисекунд и заданным timerType. См. Qt::TimerType для получения информации о различных типах таймеров.
obj получит события таймера.
См. также stop(), isActive(), QObject::timerEvent() и Qt::TimerType.
void QBasicTimer::stop()
Останавливает таймер.
См. также start() и isActive().
int QBasicTimer::timerId() const
Возвращает идентификатор таймера.
См. также QTimerEvent::timerId().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qbasictimer.html