Spec-Zone.ru › Qt 5.9

Класс QDeadlineTimer

Класс QDeadlineTimer отмечает крайний срок в будущем. Подробнее...

Заголовок: #include <QDeadlineTimer>
qmake: QT += core
С момента: Qt 5.8
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются перевходными.

Типы публичного доступа

Перечисление ForeverConstant { Forever }

Функции публичного доступа

QDeadlineTimer(Qt::TimerType timerType = Qt::CoarseTimer)
QDeadlineTimer(ForeverConstant forever, Qt::TimerType timerType = Qt::CoarseTimer)
QDeadlineTimer(qint64 msecs, Qt::TimerType type = Qt::CoarseTimer)
QDeadlineTimer(std::chrono::time_point<Clock, Duration> deadline, Qt::TimerType type = Qt::CoarseTimer)
QDeadlineTimer(std::chrono::duration<Rep, Period> remaining, Qt::TimerType type = Qt::CoarseTimer)
qint64 deadline() const
std::chrono::time_point<Clock, Duration> 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)

Статические члены публичного доступа

QDeadlineTimer addNSecs(QDeadlineTimer dt, qint64 nsecs)
QDeadlineTimer current(Qt::TimerType timerType = Qt::CoarseTimer)

Связанные внешние члены

bool operator!=(QDeadlineTimer d1, QDeadlineTimer d2)
QDeadlineTimer operator+(QDeadlineTimer dt, qint64 msecs)
QDeadlineTimer operator+(qint64 msecs, QDeadlineTimer dt)
QDeadlineTimer operator-(QDeadlineTimer dt, qint64 msecs)
bool operator<(QDeadlineTimer d1, QDeadlineTimer d2)
bool operator<=(QDeadlineTimer d1, QDeadlineTimer d2)
bool operator==(QDeadlineTimer d1, QDeadlineTimer d2)
bool operator>(QDeadlineTimer d1, QDeadlineTimer d2)
bool operator>=(QDeadlineTimer d1, QDeadlineTimer d2)

Подробное описание

Класс QDeadlineTimer отмечает крайний срок в будущем.

Класс QDeadlineTimer обычно используется для расчёта будущих крайних сроков и проверки, истек ли крайний срок. QDeadlineTimer также может использоваться для крайних сроков без истечения ("навсегда"). Он является аналогом QElapsedTimer, который рассчитывает, сколько времени прошло с момента вызова QElapsedTimer::start().

QDeadlineTimer предоставляет более удобный API по сравнению с QElapsedTimer::hasExpired().

Типичное использование класса заключается в создании QDeadlineTimer до начала интересующей операции, а затем использовании remainingTime() или hasExpired() для определения, стоит ли продолжать попытку выполнения операции. Объекты QDeadlineTimer могут передаваться в вызываемые функции для выполнения этой операции, чтобы они знали, сколько времени ещё нужно работать.

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

Многие функции QDeadlineTimer имеют дело со значениями времени ожидания, все из которых измеряются в миллисекундах. Есть два специальных значения, такие же, как и у многих других функций Qt, с именами waitFor или аналогичными:

  • 0: нет времени, истекло
  • -1: бесконечное время, таймер никогда не истекает

Справочные часы

QDeadlineTimer будет использовать те же часы, что и QElapsedTimer (см. QElapsedTimer::clockType() и QElapsedTimer::isMonotonic()).

Типы таймеров

Как и QTimer, QDeadlineTimer может выбирать между разными уровнями точности таймеров. Вы можете выбрать точное время, передав Qt::PreciseTimer в функции, которые устанавливают или изменяют таймер, или вы можете выбрать грубое время, передав Qt::CoarseTimer. Qt::VeryCoarseTimer в настоящее время интерпретируется так же, как Qt::CoarseTimer.

Эта функция зависит от поддержки операционной системы: если ОС не поддерживает функцию грубого таймера, то QDeadlineTimer будет вести себя так, как будто был передан Qt::PreciseTimer.

QDeadlineTimer по умолчанию использует Qt::CoarseTimer, потому что в операционных системах, которые поддерживают грубое время, вызов функций таймера к этому источнику времени часто более эффективен. Уровень грубости зависит от операционной системы, но должен составлять порядка нескольких миллисекунд.

std::chrono Совместимость

QDeadlineTimer совместим с API std::chrono из C++11 и может быть создан или сравнен с объектами std::chrono::duration и std::chrono::time_point. Кроме того, он полностью совместим с литералами времени из C++14, что позволяет писать код, как:

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

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

Как видно из примера выше, QDeadlineTimer предлагает шаблонную версию remainingTime() и deadline(), которые могут быть использованы для возврата объектов std::chrono.

Обратите внимание, что сравнение с time_point не так эффективно, как сравнение с duration, так как QDeadlineTimer может потребоваться преобразовать из своего внутреннего источника времени в источник времени, используемый объектом time_point. Также обратите внимание, что из-за этого преобразования сроки не будут точными, поэтому ожидается, что следующий код не будет сравниваться одинаково:

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

См. также QTime, QTimer, QDeadlineTimer и Qt::TimerType.

Документация по типам членов

перечисление QDeadlineTimer::ForeverConstant

Постоянная Значение Описание
QDeadlineTimer::Forever 0 Используется при создании QDeadlineTimer, чтобы указать, что срок не должен истекать

Документация по членам-функциям

QDeadlineTimer::QDeadlineTimer(Qt::TimerType timerType = Qt::CoarseTimer)

Создает объект QDeadlineTimer, который уже истек. Для этого объекта remainingTime() вернёт 0.

Тип таймера timerType может быть проигнорирован, поскольку таймер уже истек. Аналогично, для оптимизации, эта функция не попытается получить текущее время и воспользуется значением, известным как находящееся в прошлом. Следовательно, deadline() может вернуть неожиданное значение, и этот объект нельзя использовать для расчета того, как долго он просрочен. Если эта функциональность требуется, используйте QDeadlineTimer::current().

См. также hasExpired(), remainingTime(), Qt::TimerType и current().

QDeadlineTimer::QDeadlineTimer(ForeverConstant forever, Qt::TimerType timerType = Qt::CoarseTimer)

Объекты QDeadlineTimer, созданные с параметром forever, никогда не истекают. Для таких объектов remainingTime() вернёт -1, deadline() вернёт максимальное значение, а isForever() вернёт true.

Тип таймера timerType может быть проигнорирован, поскольку таймер уже истек.

См. также ForeverConstant, hasExpired(), isForever(), remainingTime() и timerType().

QDeadlineTimer::QDeadlineTimer(qint64 msecs, Qt::TimerType type = Qt::CoarseTimer)

Создаёт объект QDeadlineTimer со временем истечения msecs мс с момента создания этого объекта, если msecs положительно. Если msecs равно нулю, этот QDeadlineTimer будет помечен как истекший, вызывая remainingTime() вернёт ноль, а deadline() - неопределённую точку времени в прошлом. Если msecs равно -1, таймер будет установлен на никогда не истекающий, вызывая remainingTime() вернёт -1, а deadline() - максимальное значение.

Объект QDeadlineTimer будет создан со заданным типом таймера type.

Для оптимизации, если msecs равно нулю, эта функция может пропустить получение текущего времени и вместо этого использовать значение, известное как находящееся в прошлом. Если это произойдёт, deadline() может вернуть неожиданное значение, и этот объект нельзя использовать для расчёта того, как долго он просрочен. Если эта функциональность требуется, используйте QDeadlineTimer::current() и добавьте время к нему.

См. также hasExpired(), isForever(), remainingTime() и setRemainingTime().

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

Создаёт объект QDeadlineTimer со сроком действия deadline, преобразуя из источника времени Clock во внутренний источник времени Qt (см. QElapsedTimer::clcokType()).

Если deadline находится в прошлом, этот объект QDeadlineTimer устанавливается как истекший, а если deadline равно Duration::max(), то этот объект устанавливается как никогда не истекающий.

Объект QDeadlineTimer будет создан со заданным типом таймера type.

См. также hasExpired(), isForever(), remainingTime() и setDeadline().

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

Создаёт объект QDeadlineTimer с оставшимся временем remaining. Если remaining равно нулю или отрицательно, этот объект QDeadlineTimer будет помечен как истекший, а если remaining равно duration::max(), объект будет установлен на никогда не истекающий.

Объект QDeadlineTimer будет создан со заданным типом таймера type.

Этот конструктор может быть использован с пользовательскими литералами времени C++14, например:

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

Для оптимизации, если remaining равно нулю или отрицательно, эта функция может пропустить получение текущего времени и вместо этого использовать значение, известное как находящееся в прошлом. Если это произойдёт, deadline() может вернуть неожиданное значение, и этот объект нельзя использовать для расчёта того, как долго он просрочен. Если эта функциональность требуется, используйте QDeadlineTimer::current() и добавьте время к нему.

См. также hasExpired(), isForever(), remainingTime() и setRemainingTime().

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

Возвращает объект QDeadlineTimer, срок действия которого продлён от срока действия dt на nsecs наносекунд. Если dt был установлен на никогда не истекающий, эта функция возвращает QDeadlineTimer, который также никогда не истечёт.

Примечание: если dt был создан как истекший, его срок действия неопределён, и добавление времени может или не может привести к тому, что он станет неистекшим.

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

Возвращает QDeadlineTimer, который истек, но гарантирует, что содержит текущее время. Объекты, созданные этой функцией, могут участвовать в расчёте того, как долго таймер просрочен, используя функцию deadline().

Объект QDeadlineTimer будет создан с указанным timerType.

qint64 QDeadlineTimer::deadline() const

Возвращает абсолютную точку времени для срока действия, хранящегося в объекте QDeadlineTimer, рассчитанную в миллисекундах относительно опорного времени, так же, как QElapsedTimer::msecsSinceReference(). Значение будет в прошлом, если у этого QDeadlineTimer срок действия истек.

Если таймер QDeadlineTimer никогда не истекает, эта функция возвращает std::numeric_limits<qint64>::max().

Эту функцию можно использовать для расчета времени, на которое таймер опоздал, вычитая QDeadlineTimer::current() или QElapsedTimer::msecsSinceReference(), как в следующем примере:

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

Примечание: Таймеры, которые были созданы как истекшие, имеют неопределенную временную точку в прошлом в качестве своего крайнего срока, поэтому вышеупомянутое вычисление может не сработать.

См. также remainingTime(), deadlineNSecs() и setDeadline().

std::chrono::time_point<Clock, Duration> QDeadlineTimer::deadline() const

qint64 QDeadlineTimer::deadlineNSecs() const

Возвращает абсолютную временную точку крайнего срока, хранящуюся в объекте QDeadlineTimer, рассчитанную в наносекундах относительно опорных часов, так же как и QElapsedTimer::msecsSinceReference(). Значение будет в прошлом, если этот QDeadlineTimer истек.

Если этот QDeadlineTimer никогда не истекает, эта функция возвращает std::numeric_limits<qint64>::max().

Эту функцию можно использовать для расчета времени, на которое таймер опоздал, вычитая QDeadlineTimer::current(), как в следующем примере:

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

Примечание: Таймеры, которые были созданы как истекшие, имеют неопределенную временную точку в прошлом в качестве своего крайнего срока, поэтому вышеупомянутое вычисление может не сработать.

См. также remainingTime() и deadlineNSecs().

bool QDeadlineTimer::hasExpired() const

Возвращает true, если объект QDeadlineTimer истек, false, если осталось время. Для объектов, которые истекли, remainingTime() вернёт ноль, а deadline() вернёт временную точку в прошлом.

Объекты QDeadlineTimer, созданные с помощью ForeverConstant, никогда не истекают, и для них эта функция всегда возвращает false.

См. также isForever() и remainingTime().

bool QDeadlineTimer::isForever() const

Возвращает true, если объект QDeadlineTimer никогда не истекает, иначе false. Для таймеров, которые никогда не истекают, remainingTime() всегда возвращает -1, а deadline() возвращает максимальное значение.

См. также ForeverConstant, hasExpired() и remainingTime().

qint64 QDeadlineTimer::remainingTime() const

Возвращает оставшееся время в объекте QDeadlineTimer в миллисекундах. Если таймер уже истек, эта функция вернёт ноль, и невозможно получить количество прошедшего времени с этой функцией (для этого см. deadline()). Если таймер был установлен на никогда не истекающий, эта функция возвращает -1.

Эта функция подходит для использования в API Qt, которые принимают таймаут в миллисекундах, такие как многие функции QIODevice waitFor или функции заблокированных таймеров в QMutex, QWaitCondition, QSemaphore или QReadWriteLock. Например:

mutex.tryLock(deadline.remainingTime());

См. также setRemainingTime(), remainingTimeNSecs(), isForever() и hasExpired().

std::chrono::nanoseconds QDeadlineTimer::remainingTimeAsDuration() const

Возвращает оставшееся время до крайнего срока.

qint64 QDeadlineTimer::remainingTimeNSecs() const

Возвращает оставшееся время в объекте QDeadlineTimer в наносекундах. Если таймер уже истек, эта функция вернёт ноль, и невозможно получить количество прошедшего времени с этой функцией. Если таймер был установлен на никогда не истекающий, эта функция возвращает -1.

См. также remainingTime(), isForever() и hasExpired().

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

Устанавливает крайний срок для этого объекта QDeadlineTimer на абсолютную временную точку msecs, отсчитываемую в миллисекундах с момента начала отсчёта (как в QElapsedTimer::msecsSinceReference()), и тип таймера на timerType. Если значение находится в прошлом, этот QDeadlineTimer будет помечен как истекший.

Если msecs равно std::numeric_limits<qint64>::max(), этот QDeadlineTimer будет установлен на никогда не истекающий.

См. также setPreciseDeadline(), deadline(), deadlineNSecs() и setRemainingTime().

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

Устанавливает для этого QDeadlineTimer крайний срок, указанный в временной точке deadline, преобразуя источник часов Clock во внутренний источник часов Qt (см. QElapsedTimer::clcokType()).

Если deadline находится в прошлом, этот объект QDeadlineTimer устанавливается как истекший, в то время как если deadline равно Duration::max(), то этот объект устанавливается как никогда не истекающий.

Тип таймера для этого объекта QDeadlineTimer будет установлен на указанный type.

См. также hasExpired(), isForever() и remainingTime().

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

Устанавливает крайний срок для этого объекта QDeadlineTimer на secs секунд и nsecs наносекунд с момента эпохи опорных часов (также как QElapsedTimer::msecsSinceReference()), и тип таймера на timerType. Если значение находится в прошлом, этот QDeadlineTimer будет помечен как истекший.

Если secs или nsecs равно std::numeric_limits<qint64>::max(), этот QDeadlineTimer будет установлен на никогда не истекающий. Если nsecs больше, чем 1 миллиард наносекунд (1 секунда), тогда secs будет скорректировано соответственно.

См. также setDeadline(), deadline(), deadlineNSecs() и setRemainingTime().

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

Устанавливает оставшееся время для этого объекта QDeadlineTimer на secs секунд плюс nsecs наносекунд от текущего момента, если secs имеет положительное значение. Если secs равно -1, этот QDeadlineTimer будет установлен как никогда не истекающий. Если оба параметра равны нулю, этот QDeadlineTimer будет помечен как истекший.

Тип таймера для этого объекта QDeadlineTimer будет установлен на указанный timerType.

См. также setRemainingTime(), hasExpired(), isForever() и remainingTime().

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

Устанавливает оставшееся время для этого объекта QDeadlineTimer на msecs миллисекунд от текущего момента, если msecs имеет положительное значение. Если msecs равно нулю, этот объект QDeadlineTimer будет помечен как истекший, а значение -1 установит его как никогда не истекающий.

Тип таймера для этого объекта QDeadlineTimer будет установлен на указанный timerType.

См. также setPreciseRemainingTime(), hasExpired(), isForever() и remainingTime().

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

Это перегруженная функция.

Устанавливает оставшееся время для этого объекта QDeadlineTimer в remaining. Если remaining равно нулю или отрицательно, этот объект QDeadlineTimer будет помечен как истекший, в то время как если remaining равно duration::max(), объект будет установлен на никогда не истекающий.

Тип таймера для этого объекта QDeadlineTimer будет установлен на указанный type.

Эта функция может быть использована с пользовательскими литералами времени C++14, например:

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

См. также setDeadline(), remainingTime(), hasExpired() и isForever().

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

Изменяет тип таймера для этого объекта на timerType.

Поведение для каждого возможного значения timerType зависит от операционной системы. Qt::PreciseTimer будет использовать самый точный таймер, который может найти Qt, с разрешением 1 миллисекунда или лучше, в то время как QDeadlineTimer будет пытаться использовать более грубый таймер для Qt::CoarseTimer и Qt::VeryCoarseTimer.

См. также timerType() и Qt::TimerType.

void QDeadlineTimer::swap(QDeadlineTimer &other)

Меняет местами таймер сброса с таймером сброса other.

Qt::TimerType QDeadlineTimer::timerType() const

Возвращает тип таймера, активный для этого объекта.

См. также setTimerType().

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

Увеличивает этот объект QDeadlineTimer на msecs миллисекунд и возвращает себя. Если этот объект установлен на никогда не истекающий, эта функция ничего не делает.

Для добавления времен с точностью выше 1 миллисекунды используйте addNSecs().

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

Уменьшает этот объект QDeadlineTimer на msecs миллисекунд и возвращает себя. Если этот объект установлен на никогда не истекающий, эта функция ничего не делает.

Для вычитания времен с точностью выше 1 миллисекунды используйте addNSecs().

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

Присваивает deadline_ этому таймеру сброса.

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

Устанавливает этот таймер сброса на remaining время.

Связанные нечленные функции

bool operator!=(QDeadlineTimer d1, QDeadlineTimer d2)

Возвращает true, если время окончания d1 и время окончания d2 отличаются, в противном случае — false. Тип таймера, используемого для создания двух таймеров, игнорируется. Эта функция эквивалентна:

return d1.deadlineNSecs() != d2.deadlineNSecs();

Примечание: сравнение объектов QDeadlineTimer с разными типами таймеров не поддерживается и может привести к непредсказуемому поведению.

QDeadlineTimer operator+(QDeadlineTimer dt, qint64 msecs)

Возвращает объект QDeadlineTimer, время окончания которого на msecs позже, чем время окончания, хранящееся в dt. Если dt установлен на никогда не истекающий, эта функция возвращает QDeadlineTimer, который также не истекает.

Для добавления времен с точностью выше 1 миллисекунды используйте addNSecs().

QDeadlineTimer operator+(qint64 msecs, QDeadlineTimer dt)

Возвращает объект QDeadlineTimer, время окончания которого на msecs позже, чем время окончания, хранящееся в dt. Если dt установлен на никогда не истекающий, эта функция возвращает QDeadlineTimer, который также не истекает.

Для добавления времен с точностью выше 1 миллисекунды используйте addNSecs().

QDeadlineTimer operator-(QDeadlineTimer dt, qint64 msecs)

Возвращает объект QDeadlineTimer, время окончания которого на msecs раньше, чем время окончания, хранящееся в dt. Если dt установлен на никогда не истекающий, эта функция возвращает QDeadlineTimer, который также не истекает.

Для вычитания времен с точностью выше 1 миллисекунды используйте addNSecs().

bool operator<(QDeadlineTimer d1, QDeadlineTimer d2)

Возвращает true, если время окончания d1 раньше, чем время окончания d2, в противном случае — false. Тип таймера, используемого для создания двух таймеров, игнорируется. Эта функция эквивалентна:

return d1.deadlineNSecs() < d2.deadlineNSecs();

Примечание: сравнение объектов QDeadlineTimer с разными типами таймеров не поддерживается и может привести к непредсказуемому поведению.

bool operator<=(QDeadlineTimer d1, QDeadlineTimer d2)

Возвращает true, если время окончания d1 раньше или равно времени окончания d2, в противном случае — false. Тип таймера, используемого для создания двух таймеров, игнорируется. Эта функция эквивалентна:

return d1.deadlineNSecs() <= d2.deadlineNSecs();

Примечание: сравнение объектов QDeadlineTimer с разными типами таймеров не поддерживается и может привести к непредсказуемому поведению.

bool operator==(QDeadlineTimer d1, QDeadlineTimer d2)

Возвращает true, если время окончания d1 и время окончания d2 совпадают, в противном случае — false. Тип таймера, используемого для создания двух таймеров, игнорируется. Эта функция эквивалентна:

return d1.deadlineNSecs() == d2.deadlineNSecs();

Примечание: сравнение объектов QDeadlineTimer с разными типами таймеров не поддерживается и может привести к непредсказуемому поведению.

bool operator>(QDeadlineTimer d1, QDeadlineTimer d2)

Возвращает true, если время окончания d1 позже, чем время окончания d2, в противном случае — false. Тип таймера, используемого для создания двух таймеров, игнорируется. Эта функция эквивалентна:

return d1.deadlineNSecs() > d2.deadlineNSecs();

Примечание: сравнение объектов QDeadlineTimer с разными типами таймеров не поддерживается и может привести к непредсказуемому поведению.

bool operator>=(QDeadlineTimer d1, QDeadlineTimer d2)

Возвращает true, если время окончания d1 позже или равно времени окончания d2, в противном случае — false. Тип таймера, используемого для создания двух таймеров, игнорируется. Эта функция эквивалентна:

return d1.deadlineNSecs() >= d2.deadlineNSecs();

Примечание: сравнение объектов QDeadlineTimer с разными типами таймеров не поддерживается и может привести к непредсказуемому поведению.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qdeadlinetimer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API