QBasicTimer Class
Die Klasse „QBasicTimer“ stellt Timer-Ereignisse für Objekte bereit. Mehr...
| Header: | #include <QBasicTimer> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- Veraltete Mitglieder
- QBasicTimer ist Teil der Ereignisklassen.
Öffentliche Typen
Öffentliche Funktionen
| 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) |
Verwandte Nicht-Mitglieder
| void | swap(QBasicTimer &lhs, QBasicTimer &rhs) |
Ausführliche Beschreibung
Dies ist eine schnelle, ressourcenschonende und Low-Level-Klasse, die von Qt intern verwendet wird. Wir empfehlen, die übergeordnete Klasse „ QTimer “ anstelle dieser Klasse zu verwenden, wenn Sie Timer in Ihren Anwendungen einsetzen möchten. Beachten Sie, dass es sich bei diesem Timer um einen sich wiederholenden Timer handelt, der fortlaufend Timer-Ereignisse sendet, sofern nicht die Funktion „ stop()“ aufgerufen wird.
Um diese Klasse zu verwenden, erstellen Sie einen `QBasicTimer` und rufen Sie dessen Funktion ` start()` mit einem Zeitlimit und einem Zeiger auf eine Unterklasse von ` QObject ` auf. Wenn das Zeitlimit abgelaufen ist, sendet der Timer ein Timer-Ereignis an die Unterklasse von ` QObject `. Der Timer kann jederzeit mit ` stop()` angehalten werden. ` isActive()` gibt ` true ` für einen laufenden Timer zurück, d. h., er wurde gestartet, hat die Timeout-Zeit noch nicht erreicht und wurde noch nicht angehalten. Die ID des Timers kann mit `timerId()` abgerufen werden.
Objekte dieser Klasse können nicht kopiert, aber verschoben werden. Daher können Sie eine Liste von Basis-Timern verwalten, indem Sie diese in einem Container speichern, der „move-only“-Typen unterstützt, z. B. std::vector.
Siehe auch „ QTimer“ , „ QChronoTimer “, „ QTimerEvent “, „ QObject::timerEvent()“, „Timers“ und „Affine Transformations“.
Dokumentation zu Mitgliedstypen
[alias] QBasicTimer::Duration
Ein Typ vom Typ „ std::chrono::duration “, der in verschiedenen APIs dieser Klasse verwendet wird. Dieser Typ dient dazu, einen möglichen Übergang zu einer höheren oder niedrigeren Granularität zu erleichtern.
Auf allen aktuellen Plattformen ist dies „ nanoseconds “.
Dokumentation der Member-Funktionen
[constexpr noexcept] QBasicTimer::QBasicTimer()
Erstellt einen einfachen Timer.
Siehe auch start().
[noexcept] QBasicTimer::QBasicTimer(QBasicTimer &&other)
Erstellt einen einfachen Timer aus other und speichert ihn unter inactive.
Siehe auch isActive() und swap().
[noexcept] QBasicTimer::~QBasicTimer()
Löscht den Basistimer.
[noexcept, since 6.8] Qt::TimerId QBasicTimer::id() const
Gibt die ID des Timers zurück.
Diese Funktion wurde in Qt 6.8 eingeführt.
Siehe auch ` QTimerEvent::id()`.
[noexcept] bool QBasicTimer::isActive() const
Gibt „ true “ zurück, wenn der Timer läuft und noch nicht gestoppt wurde; andernfalls gibt er „ false “ zurück.
Siehe auch start() und stop().
[since 6.5] void QBasicTimer::start(QBasicTimer::Duration duration, QObject *object)
Startet (oder startet erneut) den Timer mit einem Zeitlimit von duration. Der Timer ist vom Typ „ Qt::CoarseTimer “. Informationen zu den verschiedenen Timer-Typen finden Sie unter Qt::TimerType.
Der angegebene ` object ` empfängt Timer-Ereignisse.
Ab Qt 6.10 führt die Festlegung eines negativen Intervalls zu einer Laufzeitwarnung, und der Wert wird auf 1 ms zurückgesetzt. Vor Qt 6.10 ließ sich bei einem Qt-Timer zwar ein negatives Intervall festlegen, das Verhalten war jedoch unvorhersehbar (beispielsweise wurde der Timer angehalten, wenn er lief, oder gar nicht erst gestartet).
Hinweis: Ab Qt 6.9 akzeptiert diese Methode „std::chrono::nanoseconds“, zuvor war es „std::chrono::milliseconds“. Diese Änderung ist abwärtskompatibel.
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch stop(), isActive(), QObject::timerEvent() und Qt::CoarseTimer.
[since 6.5] void QBasicTimer::start(QBasicTimer::Duration duration, Qt::TimerType timerType, QObject *obj)
Startet (oder startet erneut) den Timer mit einem Zeitlimit von „ duration “ und dem angegebenen „ timerType “. Informationen zu den verschiedenen Timer-Typen finden Sie unter Qt::TimerType.
Ab Qt 6.10 führt die Festlegung eines negativen Intervalls zu einer Laufzeitwarnung, und der Wert wird auf 1 ms zurückgesetzt. Vor Qt 6.10 konnte man bei einem Qt-Timer zwar ein negatives Intervall festlegen, dieser verhielt sich jedoch unvorhersehbar (z. B. wurde der Timer angehalten, wenn er lief, oder gar nicht erst gestartet).
obj empfängt Timer-Ereignisse.
Hinweis: Ab Qt 6.9 akzeptiert diese Methode std::chrono::nanoseconds, zuvor waren es std::chrono::milliseconds. Diese Änderung ist abwärtskompatibel.
Dies ist eine überladene Funktion.
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch stop(), isActive(), QObject::timerEvent() und Qt::TimerType.
void QBasicTimer::stop()
Hält den Timer an.
Siehe auch start() und isActive().
[noexcept] void QBasicTimer::swap(QBasicTimer &other)
Ersetzt diesen Timer durch „ other “. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.
[noexcept] QBasicTimer &QBasicTimer::operator=(QBasicTimer &&other)
Weist diesem Basistimer die Adresse „ other “ zu. Der zuvor durch diesen Basistimer repräsentierte Timer wird angehalten. „ other “ bleibt auf „ inactive “ gesetzt.
Verwandte Nicht-Mitglieder
[noexcept] void swap(QBasicTimer &lhs, QBasicTimer &rhs)
Tauscht die Timer- lhs -Datei gegen rhs aus. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.
© 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.