QBasicTimer Class
La classe QBasicTimer permet de gérer les événements de temporisation pour les objets. En savoir plus...
| 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
- Membres obsolètes
- QBasicTimer fait partie des classes d'événements.
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) |
Éléments non membres associé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 niveau supérieur QTimer plutôt que cette classe si vous souhaitez utiliser des minuteries dans vos applications. Notez que cette minuterie est une minuterie récurrente qui enverra des événements de minuterie successifs à moins que la fonction stop() ne soit appelée.
Pour utiliser cette classe, créez un objet `QBasicTimer`, puis appelez sa fonction ` start()` en lui passant un intervalle de temporisation et un pointeur vers une sous-classe de ` QObject `. Lorsque le minuteur arrive à expiration, il envoie un événement de minuteur à la sous-classe ` QObject `. Le minuteur peut être arrêté à tout moment à l’aide de la fonction stop(). La fonction isActive() renvoie la valeur « true » pour un minuteur en cours d’exécution, c’est-à-dire qui a été lancé, n’a pas atteint son délai d’expiration et n’a pas été arrêté. L’identifiant du minuteur peut être récupéré à l’aide de la fonction timerId().
Les objets de cette classe ne peuvent pas être copiés, mais peuvent être déplacés ; vous pouvez donc gérer une liste de minuteurs de base en les conservant dans un conteneur prenant en charge les types « move-only », par exemple std::vector.
Voir également QTimer, QChronoTimer, QTimerEvent, QObject::timerEvent(), les temporisateurs et les transformations affines.
Documentation sur les types membres
[alias] QBasicTimer::Duration
Un type de type « std::chrono::duration » utilisé dans diverses API de cette classe. Ce type a pour but de faciliter une éventuelle transition vers une granularité supérieure ou inférieure.
Sur toutes les plateformes actuelles, il s'agit d'nanoseconds.
Documentation des fonctions membres
[constexpr noexcept] QBasicTimer::QBasicTimer()
Crée un minuteur de base.
Voir aussi start().
[noexcept] QBasicTimer::QBasicTimer(QBasicTimer &&other)
Crée par « move » un minuteur de base à partir de other, qui est ensuite laissé à inactive.
Voir également isActive() et swap().
[noexcept] QBasicTimer::~QBasicTimer()
Supprime le minuteur principal.
[noexcept, since 6.8] Qt::TimerId QBasicTimer::id() const
Renvoie l'identifiant du minuteur.
Cette fonction a été introduite dans Qt 6.8.
Voir également QTimerEvent::id().
[noexcept] bool QBasicTimer::isActive() const
Renvoie « true » si le minuteur est en cours d'exécution et n'a pas été arrêté ; sinon, renvoie « false ».
Voir également start() et stop().
[since 6.5] void QBasicTimer::start(QBasicTimer::Duration duration, QObject *object)
Lance (ou relance) le minuteur avec un délai d'duration. Le minuteur sera de type « Qt::CoarseTimer ». Consultez Qt::TimerType pour plus d'informations sur les différents types de minuteurs.
L’ object spécifié recevra les événements du minuteur.
À partir de Qt 6.10, la définition d’un intervalle négatif entraînera un avertissement d’exécution et la valeur sera réinitialisée à 1 ms. Avant Qt 6.10, un Qt Timer vous permettait de définir un intervalle négatif, mais se comportait de manière imprévisible (par exemple, il pouvait arrêter le minuteur s’il était en cours d’exécution ou ne pas le démarrer du tout).
Remarque : à partir de Qt 6.9, cette méthode accepte des valeurs de type std::chrono::nanoseconds ; auparavant, elle acceptait des valeurs de type std::chrono::milliseconds. Ce changement est rétrocompatible.
Cette fonction a été introduite dans Qt 6.5.
Voir également stop(), isActive(), QObject::timerEvent() et Qt::CoarseTimer.
[since 6.5] void QBasicTimer::start(QBasicTimer::Duration duration, Qt::TimerType timerType, QObject *obj)
Lance (ou relance) le minuteur avec un délai d'expiration de ` duration ` et la valeur ` timerType` indiquée. Consultez Qt::TimerType pour plus d'informations sur les différents types de minuteurs.
À partir de Qt 6.10, la définition d’un intervalle négatif entraîne un avertissement d’exécution et la valeur est réinitialisée à 1 ms. Avant Qt 6.10, un Qt Timer vous permettait de définir un intervalle négatif, mais se comportait de manière imprévisible (par exemple, il pouvait arrêter le minuteur s’il était en cours d’exécution ou ne pas le démarrer du tout).
obj recevra les événements du minuteur.
Remarque : à partir de Qt 6.9, cette méthode prend en paramètre std::chrono::nanoseconds ; auparavant, elle prenait std::chrono::milliseconds. Ce changement est rétrocompatible.
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.5.
Voir également stop(), isActive(), QObject::timerEvent() et Qt::TimerType.
void QBasicTimer::stop()
Arrête le chronomètre.
Voir également start() et isActive().
[noexcept] void QBasicTimer::swap(QBasicTimer &other)
Remplace ce minuteur par other. Cette opération est très rapide et ne pose jamais de problème.
[noexcept] QBasicTimer &QBasicTimer::operator=(QBasicTimer &&other)
Cette opération attribue la valeur « other » à ce temporisateur de base. Le temporisateur précédemment représenté par ce temporisateur de base est arrêté. La valeur « other » reste définie sur « inactive ».
Éléments non membres associés
[noexcept] void swap(QBasicTimer &lhs, QBasicTimer &rhs)
Remplace l'lhs de la minuterie par rhs. Cette opération est très rapide et ne pose jamais de problème.
© 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.