QBasicTimer Class
La classe QBasicTimer fournit des événements de temporisation pour les objets. Plus d'informations...
| En-tête : | #include <QBasicTimer> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
- Liste de tous les membres, y compris les membres hérités
- Les membres dépréciés
- QBasicTimer fait partie de Event Classes.
Types publics
Fonctions publiques
| QBasicTimer() | |
| QBasicTimer(QBasicTimer &&other) | |
| ~QBasicTimer() | |
(since 6.8) Qt::TimerId | id() const |
| bool | isActive() const |
(since 6.5) void | start(QBasicTimer::Duration duration, QObject *object) |
(since 6.5) void | start(QBasicTimer::Duration duration, Qt::TimerType timerType, QObject *obj) |
| void | stop() |
| void | swap(QBasicTimer &other) |
| QBasicTimer & | operator=(QBasicTimer &&other) |
Non-membres apparentés
| void | swap(QBasicTimer &lhs, QBasicTimer &rhs) |
Description détaillée
Il s'agit d'une classe rapide, légère et de bas niveau utilisée en interne par Qt. Nous vous recommandons d'utiliser la classe de plus haut niveau QTimer plutôt que cette classe si vous souhaitez utiliser des minuteries dans vos applications. Notez que cette minuterie est une minuterie répétitive qui enverra des événements de minuterie ultérieurs à moins que la fonction stop() ne soit appelée.
Pour utiliser cette classe, créez un QBasicTimer et appelez sa fonction start() avec un intervalle de temps et un pointeur vers une sous-classe QObject. Lorsque la minuterie se termine, elle envoie un événement de minuterie à la sous-classe QObject. La minuterie peut être arrêtée à tout moment à l'aide de la fonction stop(). isActive() renvoie true pour une minuterie en cours d'exécution, c'est-à-dire qu'elle a été démarrée, qu'elle n'a pas atteint le délai d'expiration et qu'elle n'a pas été arrêtée. L'identifiant de la minuterie peut être récupéré à l'aide de timerId().
Les objets de cette classe ne peuvent pas être copiés, mais peuvent être déplacés, de sorte que vous pouvez maintenir une liste de minuteries de base en les plaçant dans un conteneur qui prend en charge les types de déplacement uniquement, par exemple std::vector.
Voir aussi QTimer, QChronoTimer, QTimerEvent, QObject::timerEvent(), Timers, et Affine Transformations.
Documentation des types de membres
[alias] QBasicTimer::Duration
Un type std::chrono::duration utilisé dans diverses API de cette classe. Ce type existe pour faciliter une éventuelle transition vers une granularité supérieure ou inférieure.
Dans toutes les plateformes actuelles, il s'agit de nanoseconds.
Documentation des fonctions membres
[constexpr noexcept] QBasicTimer::QBasicTimer()
Construit un minuteur de base.
Voir aussi start().
[noexcept] QBasicTimer::QBasicTimer(QBasicTimer &&other)
Move-construit un minuteur de base à partir de other, qui est laissé à inactive.
Voir aussi isActive() et swap().
[noexcept] QBasicTimer::~QBasicTimer()
Détruit la minuterie de base.
[noexcept, since 6.8] Qt::TimerId QBasicTimer::id() const
Renvoie l'identifiant de la minuterie.
Cette fonction a été introduite dans Qt 6.8.
Voir aussi QTimerEvent::id().
[noexcept] bool QBasicTimer::isActive() const
Renvoie true si la minuterie est en cours d'exécution et n'a pas été arrêtée ; sinon, renvoie false.
[since 6.5] void QBasicTimer::start(QBasicTimer::Duration duration, QObject *object)
Démarre (ou redémarre) la minuterie avec un délai d'attente de duration. Le timer sera un Qt::CoarseTimer. Voir Qt::TimerType pour plus d'informations sur les différents types de timers.
Le site object recevra les événements de la minuterie.
À partir de Qt 6.10, la définition d'un intervalle négatif entraînera un avertissement d'exécution et la réinitialisation de la valeur à 1ms. Avant Qt 6.10, un Qt Timer vous permettait de définir un intervalle négatif mais se comportait de manière surprenante (par exemple en arrêtant le timer s'il était en cours d'exécution ou en ne le démarrant pas du tout).
Note : A partir de Qt 6.9 cette méthode prend std::chrono::nanosecondes, avant elle prenait std::chrono::millisecondes. Ce changement est compatible avec le passé.
Cette fonction a été introduite dans Qt 6.5.
Voir aussi stop(), isActive(), QObject::timerEvent(), et Qt::CoarseTimer.
[since 6.5] void QBasicTimer::start(QBasicTimer::Duration duration, Qt::TimerType timerType, QObject *obj)
Démarre (ou redémarre) le timer avec un timeout de duration et l'adresse timerType. Voir Qt::TimerType pour plus d'informations sur les différents types de minuterie.
À partir de Qt 6.10, la définition d'un intervalle négatif entraînera un avertissement lors de l'exécution et la réinitialisation de la valeur à 1ms. Avant Qt 6.10, une minuterie Qt vous permettait de définir un intervalle négatif mais se comportait de manière surprenante (par exemple en arrêtant la minuterie si elle était en cours d'exécution ou en ne la démarrant pas du tout).
obj recevra les événements de la minuterie.
Note : A partir de Qt 6.9 cette méthode prend std::chrono::nanosecondes, avant elle prenait std::chrono::millisecondes. Ce changement est compatible avec le passé.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.5.
Voir aussi stop(), isActive(), QObject::timerEvent(), et Qt::TimerType.
void QBasicTimer::stop()
Arrête la minuterie.
Voir aussi start() et isActive().
[noexcept] void QBasicTimer::swap(QBasicTimer &other)
Remplace cette minuterie par other. Cette opération est très rapide et n'échoue jamais.
[noexcept] QBasicTimer &QBasicTimer::operator=(QBasicTimer &&other)
Move-assigne other à cette minuterie de base. La minuterie précédemment représentée par cette minuterie de base est arrêtée. other devient inactive.
Non-membres apparentés
[noexcept] void swap(QBasicTimer &lhs, QBasicTimer &rhs)
Remplace la minuterie lhs par rhs. Cette opération est très rapide et n'échoue jamais.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.