Auf dieser Seite

QtTaskTree::QBarrier Class

class QtTaskTree::QBarrier

Eine 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:

QtTaskTree::QStartedBarrier

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.