QtTaskTree::QBarrier Class
class QtTaskTree::QBarrierEine asynchrone Aufgabe, die bei Bedarf abgeschlossen wird. Mehr...
| Kopfzeile: | #include <qbarriertask.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree) target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| Seit: | Qt 6.11 |
| Erbt von: | QObject |
| Vererbt an: | |
| Status: | Technologievorschau |
Diese Klasse befindet sich in der Technologievorschau und kann sich noch ändern.
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Öffentliche Funktionen
| QBarrier(QObject *parent) | |
| void | advance() |
| qsizetype | current() const |
| bool | isRunning() const |
| qsizetype | limit() const |
| std::optional<QtTaskTree::DoneResult> | result() const |
| void | setLimit(qsizetype value) |
| void | start() |
| void | stopWithResult(QtTaskTree::DoneResult result) |
Signale
| void | done(QtTaskTree::DoneResult result) |
Neu implementierte geschützte Funktionen
| virtual bool | event(QEvent *event) override |
Ausführliche Beschreibung
QBarrier wartet darauf, dass nachfolgende Aufrufe von ` advance()` die Grenze der Barriere (standardmäßig 1) erreichen. Die Ausführung wird mit ` DoneResult::Success` beendet.
Es wird häufig in „ QTaskTree “-Rezepten verwendet, um die Ausführung nachfolgender sequenzieller Aufgaben anzuhalten, bis eine andere laufende Aufgabe Daten liefert, die für die Vorbereitung der nachfolgenden Aufgaben benötigt werden.
Dokumentation der Mitgliedsfunktion
[explicit] QBarrier::QBarrier(QObject *parent)
Erstellt ein QBarrier-Objekt mit einem angegebenen ` parent`.
void QBarrier::advance()
Verschiebt die Barriere vorwärts. Wenn die Anzahl der Aufrufe von `advance()` das Limit der Barriere erreicht, endet die Barriere mit ` DoneResult::Success`.
qsizetype QBarrier::current() const
Gibt die aktuelle Vorlaufanzahl der Barriere zurück.
[private signal] void QBarrier::done(QtTaskTree::DoneResult result)
Dieses Signal wird ausgelöst, wenn die Barriere beendet ist und die letzte Ausführungs result durchlaufen wurde.
Hinweis: Dies ist ein privates Signal. Es kann in Signalverbindungen verwendet werden, kann jedoch nicht vom Benutzer ausgelöst werden.
[override virtual protected] bool QBarrier::event(QEvent *event)
Implementiert: ` QObject::event(QEvent *e)`.
bool QBarrier::isRunning() const
Gibt „ true “ zurück, wenn die Barriere derzeit läuft; andernfalls wird „ false “ zurückgegeben.
qsizetype QBarrier::limit() const
Gibt den aktuellen Grenzwert der Barriere zurück.
Siehe auch „ setLimit()“.
std::optional<QtTaskTree::DoneResult> QBarrier::result() const
Gibt das Ergebnis der Barriereausführung zurück. Wenn die Barriere nicht gestartet wurde oder noch läuft, ist das zurückgegebene Optional leer. Andernfalls wird das Ergebnis der letzten Ausführung zurückgegeben.
void QBarrier::setLimit(qsizetype value)
Legt das Limit auf „ value “ fest. Nach dem Start endet die Barriere, sobald die Anzahl der Aufrufe von „ advance()“ das Limit erreicht hat.
Siehe auch limit().
void QBarrier::start()
Startet die Schranke.
void QBarrier::stopWithResult(QtTaskTree::DoneResult result)
Hält die laufende Barriere bedingungslos mit einem angegebenen Wert ` result` an. Der Grenzwert der Barriere wird dabei ignoriert.
© 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.