Qt TaskTree
Qt TaskTree bietet eine deklarative Möglichkeit, asynchrone Task-Workflows mit angemessener Fehlerbehandlung und Ausführungsrichtlinien zusammenzustellen und auszuführen.
Hinweis: Qt TaskTree in 6.11 befindet sich in der Technologievorschau, wodurch seine API von den Kompatibilitätsversprechen von Qt ausgeschlossen ist.
Erste Schritte
Mit Qt TaskTree können Sie komplexe Task-Hierarchien mit verschiedenen Ausführungsrichtlinien, paralleler/sequenzieller Ausführung und angemessener Fehlerbehandlung erstellen.
Schlüsselkonzepte:
- Rezepte - Deklarative Beschreibungen von Aufgabenabläufen.
- Gruppen - Container, die Ausführungsrichtlinien für untergeordnete Aufgaben definieren.
- Speicher - Thread-lokales Speichersystem für die gemeinsame Nutzung von Daten durch Aufgaben.
- Iteratoren - Unterstützung für Schleifen und sich wiederholende Aufgabenausführung.
Verwendung des Moduls
Die Verwendung der C++-API eines Qt-Moduls erfordert eine Verknüpfung mit der Modulbibliothek, entweder direkt oder über andere Abhängigkeiten. Mehrere Build-Tools bieten hierfür spezielle Unterstützung, darunter CMake und qmake.
Bauen mit CMake
Verwenden Sie den Befehl find_package(), um die benötigte Modulkomponente im Paket Qt6 zu finden:
find_package(Qt6 REQUIRED COMPONENTS TaskTree)
target_link_libraries(mytarget PRIVATE Qt6::TaskTree)Weitere Einzelheiten finden Sie in der Übersicht Bauen mit CMake.
Bauen mit qmake
Um das Modul für die Erstellung mit qmake zu konfigurieren, fügen Sie das Modul als Wert der Variable QT in der .pro-Datei des Projekts hinzu:
QT += tasktree
Task-Adapter
Das Modul enthält mehrere eingebaute Taskadapter für gängige Operationen:
- QProcessTask - Führt externe Prozesse aus.
- QThreadFunctionTask - Führt Funktionen in separaten Threads aus.
- QNetworkReplyWrapperTask - Behandelt Netzwerkoperationen.
- QTcpSocketWrapperTask - Behandelt TCP-Socket-Operationen.
- QBarrierTask - Bietet Synchronisationsprimitive.
- QTimeoutTask - Bietet Timer-basierte Verzögerungen.
Workflow-Politiken
Gruppen unterstützen verschiedene Workflow-Richtlinien für die Behandlung von Aufgabenergebnissen:
- StopOnError - Stoppt die Ausführung beim ersten Fehler (Standard).
- ContinueOnError - Setzt die Ausführung trotz Fehlern fort.
- StopOnSuccess - Hält bei der ersten erfolgreichen Aufgabe an.
- ContinueOnSuccess - Wird trotz erfolgreicher Aufgaben fortgesetzt.
- StopOnSuccessOrError - Hält bei der ersten abgeschlossenen Aufgabe an.
- FinishAllAndSuccess - Führt alle Aufgaben aus, meldet Erfolg.
- FinishAllAndError - Führt alle Aufgaben aus, meldet Fehler.
Beispiele
Referenz
Lizenzen
Das Qt TaskTree Modul ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus ist es unter freien Software-Lizenzen erhältlich: Die GNU Lesser General Public License, Version 3, oder die GNU General Public License, Version 2. Siehe Qt-Lizenzierung für weitere Details.
© 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.