Sur cette page

QDeadlineTimer Class

La classe QDeadlineTimer marque une échéance dans le futur. Plus d'informations...

En-tête : #include <QDeadlineTimer>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core

Cette classe est fortement comparable.

Remarque : toutes les fonctions de cette classe sont réentrantes.

Types publics

enum class ForeverConstant { Forever }

Fonctions publiques

QDeadlineTimer()
QDeadlineTimer(Qt::TimerType timerType)
QDeadlineTimer(QDeadlineTimer::ForeverConstant, Qt::TimerType timerType = Qt::CoarseTimer)
QDeadlineTimer(qint64 msecs, Qt::TimerType type = Qt::CoarseTimer)
QDeadlineTimer(std::chrono::duration<Rep, Period> remaining, Qt::TimerType type = Qt::CoarseTimer)
QDeadlineTimer(std::chrono::time_point<Clock, Duration> deadline, Qt::TimerType type = Qt::CoarseTimer)
qint64 deadline() const
qint64 deadlineNSecs() const
bool hasExpired() const
bool isForever() const
qint64 remainingTime() const
std::chrono::nanoseconds remainingTimeAsDuration() const
qint64 remainingTimeNSecs() const
void setDeadline(qint64 msecs, Qt::TimerType timerType = Qt::CoarseTimer)
void setDeadline(std::chrono::time_point<Clock, Duration> deadline, Qt::TimerType type = Qt::CoarseTimer)
void setPreciseDeadline(qint64 secs, qint64 nsecs = 0, Qt::TimerType timerType = Qt::CoarseTimer)
void setPreciseRemainingTime(qint64 secs, qint64 nsecs = 0, Qt::TimerType timerType = Qt::CoarseTimer)
void setRemainingTime(qint64 msecs, Qt::TimerType timerType = Qt::CoarseTimer)
void setRemainingTime(std::chrono::duration<Rep, Period> remaining, Qt::TimerType type = Qt::CoarseTimer)
void setTimerType(Qt::TimerType timerType)
void swap(QDeadlineTimer &other)
Qt::TimerType timerType() const
QDeadlineTimer &operator+=(qint64 msecs)
QDeadlineTimer &operator-=(qint64 msecs)
QDeadlineTimer &operator=(std::chrono::duration<Rep, Period> remaining)
QDeadlineTimer &operator=(std::chrono::time_point<Clock, Duration> deadline_)

Membres publics statiques

QDeadlineTimer addNSecs(QDeadlineTimer dt, qint64 nsecs)
QDeadlineTimer current(Qt::TimerType timerType = Qt::CoarseTimer)
bool operator!=(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)
QDeadlineTimer operator+(QDeadlineTimer dt, qint64 msecs)
QDeadlineTimer operator+(qint64 msecs, QDeadlineTimer dt)
QDeadlineTimer operator-(QDeadlineTimer dt, qint64 msecs)
bool operator<(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)
bool operator<=(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)
bool operator==(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)
bool operator>(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)
bool operator>=(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

Description détaillée

La classe QDeadlineTimer est généralement utilisée pour calculer les échéances futures et vérifier si l'échéance a expiré. QDeadlineTimer peut également être utilisée pour les délais sans expiration ("pour toujours"). Il constitue le pendant de QElapsedTimer, qui calcule le temps écoulé depuis l'appel de QElapsedTimer::start().

QDeadlineTimer fournit une API plus pratique que QElapsedTimer::hasExpired().

Le cas d'utilisation typique de la classe est de créer un QDeadlineTimer avant que l'opération en question ne soit lancée, puis d'utiliser remainingTime() ou hasExpired() pour déterminer s'il faut continuer à essayer l'opération. Les objets QDeadlineTimer peuvent être transmis aux fonctions appelées pour exécuter cette opération, afin qu'elles sachent combien de temps elles doivent encore opérer.

    void executeOperation(int msecs)
    {
        QDeadlineTimer deadline(msecs);
        do {
            if (readFromDevice(deadline.remainingTime()))
                break;
            waitForReadyRead(deadline);
        } while (!deadline.hasExpired());
    }

De nombreuses fonctions QDeadlineTimer traitent des valeurs de délai, qui sont toutes mesurées en millisecondes. Il existe deux valeurs spéciales, identiques à celles de nombreuses autres fonctions Qt nommées waitFor ou similaires :

  • 0 : pas de temps restant, expiré
  • -1 : temps restant infini, la minuterie n'expire jamais

Horloges de référence

QDeadlineTimer utilise la même horloge que QElapsedTimer (voir QElapsedTimer::clockType() et QElapsedTimer::isMonotonic()).

Types de minuterie

Comme QTimer et QChronoTimer, QDeadlineTimer peut sélectionner différents niveaux de précision pour les minuteries. Vous pouvez sélectionner un timing précis en passant Qt::PreciseTimer aux fonctions qui définissent ou modifient le timer, ou vous pouvez sélectionner un timing grossier en passant Qt::CoarseTimer. Qt::VeryCoarseTimer est actuellement interprété de la même manière que Qt::CoarseTimer.

Cette fonctionnalité dépend du support du système d'exploitation : si le système d'exploitation ne supporte pas la fonctionnalité de minuterie grossière, alors QDeadlineTimer se comportera comme si Qt::PreciseTimer avait été passé.

QDeadlineTimer utilise par défaut Qt::CoarseTimer parce que sur les systèmes d'exploitation qui supportent la temporisation grossière, faire des appels de temporisation à cette source d'horloge est souvent beaucoup plus efficace. Le niveau de précision dépend du système d'exploitation, mais devrait être de l'ordre de quelques millisecondes.

std::chrono Compatibilité

QDeadlineTimer est compatible avec l'API std::chrono de C++11 et peut être construit à partir d'objets std::chrono::duration et std::chrono::time_point ou comparé à ceux-ci. De plus, il est entièrement compatible avec les littéraux temporels du C++14, qui permettent d'écrire du code tel que :

    using namespace std::chrono;
    using namespace std::chrono_literals;

    QDeadlineTimer deadline(30s);
    device->waitForReadyRead(deadline);
    if (deadline.remainingTimeAsDuration() > 300ms)
        cleanup();

Comme le montre l'exemple ci-dessus, QDeadlineTimer propose une version modélisée de remainingTime() et deadline() qui peut être utilisée pour renvoyer des objets std::chrono.

Notez que la comparaison avec time_point n'est pas aussi efficace que la comparaison avec duration, puisque QDeadlineTimer peut avoir besoin de convertir sa propre source d'horloge interne en la source d'horloge utilisée par l'objet time_point. Notez également qu'en raison de cette conversion, les délais ne seront pas précis, de sorte que le code suivant n'est pas censé se comparer de la même manière :

    using namespace std::chrono;
    using namespace std::chrono_literals;
    auto now = steady_clock::now();
    QDeadlineTimer deadline(now + 1s);
    Q_ASSERT(deadline == now + 1s);

Voir aussi QTime, QChronoTimer, QElapsedTimer, et Qt::TimerType.

Documentation sur les types de membres

enum class QDeadlineTimer::ForeverConstant

ConstanteValeurDescription
QDeadlineTimer::ForeverConstant::Forever0Utilisée lors de la création d'un site QDeadlineTimer pour indiquer que le délai ne doit pas expirer.

Documentation des fonctions membres

[constexpr noexcept] QDeadlineTimer::QDeadlineTimer()

[explicit constexpr noexcept] QDeadlineTimer::QDeadlineTimer(Qt::TimerType timerType)

Construit un objet QDeadlineTimer expiré. Pour cet objet, remainingTime() renvoie 0. Si timerType n'est pas défini, l'objet utilisera coarse timer type .

Le type de minuterie timerType peut être ignoré, puisque la minuterie est déjà expirée. De même, à des fins d'optimisation, cette fonction n'essaiera pas d'obtenir l'heure actuelle et utilisera une valeur connue pour être dans le passé. Par conséquent, deadline() peut renvoyer une valeur inattendue et cet objet ne peut pas être utilisé pour calculer la durée du retard. Si cette fonctionnalité est requise, utilisez QDeadlineTimer::current().

Voir également hasExpired(), remainingTime(), Qt::TimerType, et current().

[constexpr noexcept] QDeadlineTimer::QDeadlineTimer(QDeadlineTimer::ForeverConstant, Qt::TimerType timerType = Qt::CoarseTimer)

Les objets QDeadlineTimer créés avec ForeverConstant n'expirent jamais. Pour ces objets, remainingTime() renvoie -1, deadline() renvoie la valeur maximale et isForever() renvoie true.

Le type de minuterie timerType peut être ignoré, puisque la minuterie n'expirera jamais.

Voir aussi ForeverConstant, hasExpired(), isForever(), remainingTime() et timerType().

[explicit noexcept] QDeadlineTimer::QDeadlineTimer(qint64 msecs, Qt::TimerType type = Qt::CoarseTimer)

Construit un objet QDeadlineTimer avec un délai d'expiration de msecs msecs à partir du moment de la création de cet objet, si msecs est positif. Si msecs est égal à zéro, ce QDeadlineTimer sera marqué comme étant expiré, ce qui fera que remainingTime() renverra zéro et deadline() renverra un point de temps indéterminé dans le passé. Si msecs est négatif, la minuterie sera définie comme n'expirant jamais, ce qui signifie que remainingTime() renverra -1 et deadline() renverra la valeur maximale.

L'objet QDeadlineTimer sera construit avec la minuterie spécifiée type.

À des fins d'optimisation, si msecs est égal à zéro, cette fonction peut ne pas obtenir l'heure actuelle et utiliser à la place une valeur connue pour être dans le passé. Dans ce cas, deadline() peut renvoyer une valeur inattendue et cet objet ne peut pas être utilisé pour calculer la durée de son retard. Si cette fonctionnalité est requise, utilisez QDeadlineTimer::current() et ajoutez-y le temps.

Note : Avant Qt 6.6, la seule valeur qui permettait à la minuterie de ne jamais expirer était -1.

Voir aussi hasExpired(), isForever(), remainingTime() et setRemainingTime().

template <typename Rep, typename Period> QDeadlineTimer::QDeadlineTimer(std::chrono::duration<Rep, Period> remaining, Qt::TimerType type = Qt::CoarseTimer)

Construit un objet QDeadlineTimer avec un temps restant de remaining. Si remaining est nul ou négatif, cet objet QDeadlineTimer sera marqué comme expiré, tandis que si remaining est égal à duration::max(), l'objet sera défini comme n'expirant jamais.

L'objet QDeadlineTimer sera construit avec le timer spécifié type.

Ce constructeur peut être utilisé avec les littéraux définis par l'utilisateur pour le temps en C++14, tels que in :

    using namespace std::chrono_literals;
    QDeadlineTimer deadline(250ms);

À des fins d'optimisation, si remaining est nul ou négatif, cette fonction peut ne pas obtenir l'heure actuelle et utiliser à la place une valeur connue pour être dans le passé. Dans ce cas, deadline() peut renvoyer une valeur inattendue et cet objet ne peut pas être utilisé pour calculer la durée du retard. Si cette fonctionnalité est requise, utilisez QDeadlineTimer::current() et ajoutez-y le temps.

Voir aussi hasExpired(), isForever(), remainingTime() et setRemainingTime().

template <typename Clock, typename Duration = typename Clock::duration> QDeadlineTimer::QDeadlineTimer(std::chrono::time_point<Clock, Duration> deadline, Qt::TimerType type = Qt::CoarseTimer)

Construit un objet QDeadlineTimer avec une date limite au point temporel deadline, en convertissant la source d'horloge Clock à la source d'horloge interne de Qt (voir QElapsedTimer::clockType()).

Si deadline est dans le passé, cet objet QDeadlineTimer est défini comme expiré, alors que si deadline est égal à Duration::max(), cet objet est défini comme n'expirant jamais.

L'objet QDeadlineTimer sera construit avec le timer spécifié type.

Voir également hasExpired(), isForever(), remainingTime() et setDeadline().

[static noexcept] QDeadlineTimer QDeadlineTimer::addNSecs(QDeadlineTimer dt, qint64 nsecs)

Renvoie un objet QDeadlineTimer dont le délai est prolongé de nsecs nanosecondes par rapport au délai de dt. Si dt a été configuré pour ne jamais expirer, cette fonction renvoie un objet QDeadlineTimer qui n'expirera pas non plus.

Remarque : si dt a été créé en tant qu'objet expiré, son délai est indéterminé et l'ajout d'une durée peut ou non le faire devenir non expiré.

[static noexcept] QDeadlineTimer QDeadlineTimer::current(Qt::TimerType timerType = Qt::CoarseTimer)

Retourne un QDeadlineTimer qui est expiré mais qui est garanti de contenir l'heure actuelle. Les objets créés par cette fonction peuvent participer au calcul de la durée d'expiration d'un minuteur à l'aide de la fonction deadline().

L'objet QDeadlineTimer sera construit avec l'adresse timerType spécifiée.

[noexcept] qint64 QDeadlineTimer::deadline() const

Renvoie le point temporel absolu pour l'échéance stockée dans l'objet QDeadlineTimer, calculé en millisecondes par rapport à l'horloge de référence, de la même manière que QElapsedTimer::msecsSinceReference(). La valeur sera dans le passé si l'objet QDeadlineTimer a expiré.

Si l'objet QDeadlineTimer n'expire jamais, cette fonction renvoie std::numeric_limits<qint64>::max().

Cette fonction peut être utilisée pour calculer le temps de retard d'une minuterie, en soustrayant QDeadlineTimer::current() ou QElapsedTimer::msecsSinceReference(), comme dans l'exemple suivant :

    qint64 realTimeLeft = deadline.deadline();
    if (realTimeLeft != (std::numeric_limits<qint64>::max)()) {
        realTimeLeft -= QDeadlineTimer::current().deadline();
        // or:
        //QElapsedTimer timer;
        //timer.start();
        //realTimeLeft -= timer.msecsSinceReference();
    }

Note : Les minuteries qui ont été créées en tant qu'expirées ont une date indéterminée dans le passé comme date limite, de sorte que le calcul ci-dessus peut ne pas fonctionner.

Voir également remainingTime(), deadlineNSecs() et setDeadline().

[noexcept] qint64 QDeadlineTimer::deadlineNSecs() const

Renvoie le point temporel absolu pour l'échéance stockée dans l'objet QDeadlineTimer, calculé en nanosecondes par rapport à l'horloge de référence, de la même manière que QElapsedTimer::msecsSinceReference(). La valeur sera dans le passé si l'objet QDeadlineTimer a expiré.

Si l'objet QDeadlineTimer n'expire jamais ou si le nombre de nanosecondes avant l'échéance ne peut être pris en compte dans le type de retour, cette fonction renvoie std::numeric_limits<qint64>::max().

Cette fonction peut être utilisée pour calculer le temps de retard d'une minuterie, en soustrayant QDeadlineTimer::current(), comme dans l'exemple suivant :

    qint64 realTimeLeft = deadline.deadlineNSecs();
    if (realTimeLeft != std::numeric_limits<qint64>::max())
        realTimeLeft -= QDeadlineTimer::current().deadlineNSecs();

Remarque : les minuteries qui ont été créées en tant qu'expirées ont une date indéterminée dans le passé comme date limite, de sorte que le calcul ci-dessus peut ne pas fonctionner.

Voir également remainingTime(), deadline() et setDeadline().

[noexcept] bool QDeadlineTimer::hasExpired() const

Retourne vrai si l'objet QDeadlineTimer a expiré, faux s'il reste du temps. Pour les objets qui ont expiré, remainingTime() renvoie zéro et deadline() renvoie un point dans le passé.

QDeadlineTimer Les objets créés avec ForeverConstant n'expirent jamais et cette fonction renvoie toujours false pour eux.

Voir également isForever() et remainingTime().

[constexpr noexcept] bool QDeadlineTimer::isForever() const

Retourne true si cet objet QDeadlineTimer n'expire jamais, false sinon. Pour les minuteries qui n'expirent jamais, remainingTime() renvoie toujours -1 et deadline() renvoie la valeur maximale.

Voir aussi ForeverConstant, hasExpired(), et remainingTime().

[noexcept] qint64 QDeadlineTimer::remainingTime() const

Renvoie le temps restant dans cet objet QDeadlineTimer en millisecondes. Si la minuterie a déjà expiré, cette fonction renvoie zéro et il n'est pas possible d'obtenir le temps de retard avec cette fonction (pour ce faire, voir deadline()). Si la minuterie a été réglée pour ne jamais expirer, cette fonction renvoie -1.

Cette fonction est adaptée à une utilisation dans les API Qt qui prennent un délai de quelques millisecondes, comme les nombreuses fonctions de QIODevice waitFor ou les fonctions de verrouillage temporisé de QMutex, QWaitCondition, QSemaphore, ou QReadWriteLock. Par exemple :

    mutex.tryLock(deadline.remainingTime());

Voir aussi setRemainingTime(), remainingTimeNSecs(), isForever() et hasExpired().

[noexcept] std::chrono::nanoseconds QDeadlineTimer::remainingTimeAsDuration() const

Renvoie le temps restant avant la date limite.

[noexcept] qint64 QDeadlineTimer::remainingTimeNSecs() const

Renvoie le temps restant dans cet objet QDeadlineTimer en nanosecondes. Si la minuterie a déjà expiré, cette fonction renvoie zéro et il n'est pas possible d'obtenir le temps de retard avec cette fonction. Si la minuterie a été configurée pour ne jamais expirer, cette fonction renvoie -1.

Voir aussi remainingTime(), isForever() et hasExpired().

[noexcept] void QDeadlineTimer::setDeadline(qint64 msecs, Qt::TimerType timerType = Qt::CoarseTimer)

Définit la date limite pour cet objet QDeadlineTimer comme étant le point de temps absolu msecs, compté en millisecondes depuis l'horloge de référence (identique à QElapsedTimer::msecsSinceReference()), et le type de minuterie à timerType. Si la valeur se situe dans le passé, cet objet QDeadlineTimer sera marqué comme étant expiré.

Si msecs est std::numeric_limits<qint64>::max() ou si l'échéance est au-delà d'un point représentable dans le futur, ce QDeadlineTimer sera défini comme n'expirant jamais.

Voir aussi setPreciseDeadline(), deadline(), deadlineNSecs() et setRemainingTime().

template <typename Clock, typename Duration = typename Clock::duration> void QDeadlineTimer::setDeadline(std::chrono::time_point<Clock, Duration> deadline, Qt::TimerType type = Qt::CoarseTimer)

Fixe cet objet QDeadlineTimer à l'échéance marquée par le point temporel deadline, en convertissant la source d'horloge Clock à la source d'horloge interne de Qt (voir QElapsedTimer::clockType()).

Si deadline est dans le passé, cet objet QDeadlineTimer est défini comme expiré, alors que si deadline est égal à Duration::max(), cet objet est défini comme n'expirant jamais.

Le type de minuterie pour cet objet QDeadlineTimer sera défini sur le type spécifié type.

Voir aussi hasExpired(), isForever() et remainingTime().

[noexcept] void QDeadlineTimer::setPreciseDeadline(qint64 secs, qint64 nsecs = 0, Qt::TimerType timerType = Qt::CoarseTimer)

Fixe la date limite pour cet objet QDeadlineTimer à secs secondes et nsecs nanosecondes depuis l'époque de l'horloge de référence (identique à QElapsedTimer::msecsSinceReference()), et le type de minuterie à timerType. Si la valeur est dans le passé, cet objet QDeadlineTimer sera marqué comme étant expiré.

Si secs ou nsecs est std::numeric_limits<qint64>::max(), ce QDeadlineTimer sera défini comme n'expirant jamais. Si nsecs est supérieur à 1 milliard de nanosecondes (1 seconde), secs sera ajusté en conséquence.

Voir aussi setDeadline(), deadline(), deadlineNSecs() et setRemainingTime().

[noexcept] void QDeadlineTimer::setPreciseRemainingTime(qint64 secs, qint64 nsecs = 0, Qt::TimerType timerType = Qt::CoarseTimer)

Fixe le temps restant pour cet objet QDeadlineTimer à secs secondes plus nsecs nanosecondes à partir de maintenant, si secs a une valeur positive. Si secs est négatif, l'objet QDeadlineTimer sera défini comme n'expirant jamais (ce comportement ne s'applique pas à nsecs). Si les deux paramètres sont nuls, QDeadlineTimer sera marqué comme expiré.

À des fins d'optimisation, si secs et nsecs sont tous deux nuls, cette fonction peut ne pas obtenir l'heure actuelle et utiliser à la place une valeur connue pour être dans le passé. Dans ce cas, deadline() peut renvoyer une valeur inattendue et cet objet ne peut pas être utilisé pour calculer la durée de son retard. Si cette fonctionnalité est requise, utilisez QDeadlineTimer::current() et ajoutez-y du temps.

Le type de minuterie pour cet objet QDeadlineTimer sera défini sur le type spécifié timerType.

Remarque : avant la version 6.6 de Qt XML, la seule condition qui faisait que la minuterie n'expirait jamais était lorsque secs était égal à -1.

Voir également setRemainingTime(), hasExpired(), isForever() et remainingTime().

[noexcept] void QDeadlineTimer::setRemainingTime(qint64 msecs, Qt::TimerType timerType = Qt::CoarseTimer)

Fixe le temps restant pour cet objet QDeadlineTimer à msecs millisecondes à partir de maintenant, si msecs a une valeur positive. Si msecs est égal à zéro, cet objet QDeadlineTimer sera marqué comme ayant expiré, tandis qu'une valeur négative fera en sorte qu'il n'expirera jamais.

À des fins d'optimisation, si msecs est égal à zéro, cette fonction peut ne pas obtenir l'heure actuelle et utiliser à la place une valeur connue pour être dans le passé. Dans ce cas, deadline() peut renvoyer une valeur inattendue et cet objet ne peut pas être utilisé pour calculer la durée de son retard. Si cette fonctionnalité est requise, utilisez QDeadlineTimer::current() et ajoutez-y du temps.

Le type de minuterie pour cet objet QDeadlineTimer sera défini sur le type spécifié timerType.

Note : Avant Qt 6.6, la seule valeur qui permettait à la minuterie de ne jamais expirer était -1.

Voir aussi setPreciseRemainingTime(), hasExpired(), isForever() et remainingTime().

template <typename Rep, typename Period> void QDeadlineTimer::setRemainingTime(std::chrono::duration<Rep, Period> remaining, Qt::TimerType type = Qt::CoarseTimer)

Fixe le temps restant pour cet objet QDeadlineTimer à remaining. Si remaining est nul ou négatif, cet objet QDeadlineTimer sera marqué comme expiré, tandis que si remaining est égal à duration::max(), l'objet sera défini comme n'expirant jamais.

Le type de temporisation de l'objet QDeadlineTimer sera défini comme étant le type spécifié type.

Cette fonction peut être utilisée avec les littéraux définis par l'utilisateur pour le temps en C++14, tels que in :

    using namespace std::chrono_literals;
    deadline.setRemainingTime(250ms);

Il s'agit d'une fonction surchargée.

Voir aussi setDeadline(), remainingTime(), hasExpired() et isForever().

void QDeadlineTimer::setTimerType(Qt::TimerType timerType)

Modifie le type de minuterie pour cet objet à timerType.

Le comportement pour chaque valeur possible de timerType dépend du système d'exploitation. Qt::PreciseTimer utilisera la minuterie la plus précise que Qt XML puisse trouver, avec une résolution de 1 milliseconde ou mieux, alors que QDeadlineTimer essaiera d'utiliser une minuterie plus grossière pour Qt::CoarseTimer et Qt::VeryCoarseTimer.

Voir aussi timerType() et Qt::TimerType.

[noexcept] void QDeadlineTimer::swap(QDeadlineTimer &other)

Remplace ce délai par other. Cette opération est très rapide et n'échoue jamais.

[noexcept] Qt::TimerType QDeadlineTimer::timerType() const

Renvoie le type de temporisateur actif pour cet objet.

Voir aussi setTimerType().

QDeadlineTimer &QDeadlineTimer::operator+=(qint64 msecs)

Prolonge cet objet QDeadlineTimer de msecs millisecondes et se renvoie lui-même. Si cet objet est configuré pour ne jamais expirer, cette fonction ne fait rien.

Pour ajouter des temps d'une précision supérieure à 1 milliseconde, utilisez addNSecs().

QDeadlineTimer &QDeadlineTimer::operator-=(qint64 msecs)

Raccourcit cet objet QDeadlineTimer de msecs millisecondes et se renvoie lui-même. Si cet objet est défini comme n'expirant jamais, cette fonction ne fait rien.

Pour soustraire des temps d'une précision supérieure à 1 milliseconde, utilisez addNSecs().

template <typename Rep, typename Period> QDeadlineTimer &QDeadlineTimer::operator=(std::chrono::duration<Rep, Period> remaining)

Règle ce délai sur l'heure remaining.

template <typename Clock, typename Duration = typename Clock::duration> QDeadlineTimer &QDeadlineTimer::operator=(std::chrono::time_point<Clock, Duration> deadline_)

Attribue deadline_ à ce délai.

Non-membres associés

[noexcept] bool operator!=(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

Retourne true si la date limite sur lhs et la date limite sur rhs sont différentes, false sinon. Le type de timer utilisé pour créer les deux échéances est ignoré. Cette fonction est équivalente à :

    return lhs.deadlineNSecs() != rhs.deadlineNSecs();

Remarque : la comparaison d'objets QDeadlineTimer avec différents types de temporisation n'est pas prise en charge et peut entraîner un comportement imprévisible.

QDeadlineTimer operator+(QDeadlineTimer dt, qint64 msecs)

Renvoie un objet QDeadlineTimer dont l'échéance est msecs plus tard que l'échéance stockée dans dt. Si dt est configuré pour ne jamais expirer, cette fonction renvoie un QDeadlineTimer qui n'expire pas non plus.

Pour ajouter des temps d'une précision supérieure à 1 milliseconde, utilisez addNSecs().

QDeadlineTimer operator+(qint64 msecs, QDeadlineTimer dt)

Renvoie un objet QDeadlineTimer dont l'échéance est msecs plus tard que l'échéance stockée dans dt. Si dt est configuré pour ne jamais expirer, cette fonction renvoie un QDeadlineTimer qui n'expire pas non plus.

Pour ajouter des temps d'une précision supérieure à 1 milliseconde, utilisez addNSecs().

QDeadlineTimer operator-(QDeadlineTimer dt, qint64 msecs)

Renvoie un objet QDeadlineTimer dont l'échéance est msecs avant l'échéance stockée dans dt. Si dt est défini comme n'expirant jamais, cette fonction renvoie un QDeadlineTimer qui n'expire pas non plus.

Pour soustraire des temps d'une précision supérieure à 1 milliseconde, utilisez addNSecs().

[noexcept] bool operator<(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

Retourne true si la date limite sur lhs est antérieure à la date limite sur rhs, false sinon. Le type de timer utilisé pour créer les deux échéances est ignoré. Cette fonction est équivalente à :

    return lhs.deadlineNSecs() < rhs.deadlineNSecs();

Remarque : la comparaison d'objets QDeadlineTimer avec différents types de temporisation n'est pas prise en charge et peut entraîner un comportement imprévisible.

[noexcept] bool operator<=(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

Retourne true si la date limite sur lhs est antérieure ou identique à la date limite sur rhs, false sinon. Le type de timer utilisé pour créer les deux échéances est ignoré. Cette fonction est équivalente à :

    return lhs.deadlineNSecs() <= rhs.deadlineNSecs();

Remarque : la comparaison d'objets QDeadlineTimer avec différents types de temporisation n'est pas prise en charge et peut entraîner un comportement imprévisible.

[noexcept] bool operator==(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

Retourne true si la date limite sur lhs et la date limite sur rhs sont les mêmes, false sinon. Le type de timer utilisé pour créer les deux échéances est ignoré. Cette fonction est équivalente à :

    return lhs.deadlineNSecs() == rhs.deadlineNSecs();

Remarque : la comparaison d'objets QDeadlineTimer avec différents types de temporisation n'est pas prise en charge et peut entraîner un comportement imprévisible.

[noexcept] bool operator>(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

Retourne true si la date limite sur lhs est postérieure à la date limite sur rhs, false sinon. Le type de timer utilisé pour créer les deux échéances est ignoré. Cette fonction est équivalente à :

    return lhs.deadlineNSecs() > rhs.deadlineNSecs();

Remarque : la comparaison d'objets QDeadlineTimer avec différents types de temporisation n'est pas prise en charge et peut entraîner un comportement imprévisible.

[noexcept] bool operator>=(const QDeadlineTimer &lhs, const QDeadlineTimer &rhs)

Retourne true si l'échéance sur lhs est postérieure ou identique à l'échéance sur rhs, false sinon. Le type de timer utilisé pour créer les deux échéances est ignoré. Cette fonction est équivalente à :

    return lhs.deadlineNSecs() >= rhs.deadlineNSecs();

Remarque : la comparaison d'objets QDeadlineTimer avec différents types de temporisation n'est pas prise en charge et peut entraîner un comportement imprévisible.

© 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.