Qt TaskTree
Qt TaskTree bietet eine deklarative Möglichkeit, asynchrone Aufgabenabläufe mit korrekter Fehlerbehandlung und Ausführungsrichtlinien zusammenzustellen und auszuführen.
Hinweis: Qt TaskTree befindet sich in Version 6.12 im Stadium einer Technologievorschau, wodurch die API von den Kompatibilitätsversprechen von Qt ausgenommen ist.
Erste Schritte
Mit Qt TaskTree können Sie komplexe Aufgabenhierarchien mit unterschiedlichen Ausführungsrichtlinien, paralleler bzw. sequenzieller Ausführung und ordnungsgemäßer Fehlerbehandlung erstellen.
Wichtige Konzepte:
- Rezepte – Deklarative Beschreibungen von Aufgabenabläufen.
- Gruppen – Container, die Ausführungsrichtlinien für untergeordnete Aufgaben definieren.
- Speicher – Thread-lokales Speichersystem für den Datenaustausch zwischen Aufgaben.
- Iteratoren – Unterstützung für Schleifen und die wiederholte Ausführung von Aufgaben.
Verwendung des Moduls
Die Nutzung der C++-API eines Qt-Moduls erfordert die Einbindung der Modulbibliothek, entweder direkt oder über andere Abhängigkeiten. Mehrere Build-Tools bieten hierfür spezielle Unterstützung, darunter CMake und qmake.
Erstellen 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 Details finden Sie in der Übersicht „Erstellen mit CMake “.
Erstellen mit qmake
Um das Modul für die Erstellung mit qmake zu konfigurieren, fügen Sie das Modul als Wert der Variablen ` QT ` in der `.pro`-Datei des Projekts hinzu:
QT += tasktreeAufgabenadapter
Das Modul enthält mehrere integrierte Aufgabenadapter für gängige Vorgänge:
- QProcessTask - Führt externe Prozesse aus.
- QThreadFunctionTask - Führt Funktionen in separaten Threads aus.
- QNetworkReplyWrapperTask - Verarbeitet Netzwerkoperationen.
- QTcpSocketWrapperTask - Verarbeitet TCP-Socket-Vorgänge.
- QBarrierTask - Stellt Synchronisationsprimitive bereit.
- QTimeoutTask - Stellt timerbasierte Verzögerungen bereit.
Workflow-Richtlinien
Gruppen unterstützen verschiedene Workflow-Richtlinien für den Umgang mit Aufgabenergebnissen:
- StopOnError - Beendet die Ausführung beim ersten Fehler (Standard).
- ContinueOnError - Setzt die Ausführung trotz Fehlern fort.
- StopOnSuccess - Beendet die Ausführung bei der ersten erfolgreichen Aufgabe.
- ContinueOnSuccess - Setzt die Ausführung trotz erfolgreicher Aufgaben fort.
- StopOnSuccessOrError - Beendet die Ausführung bei der ersten abgeschlossenen Aufgabe.
- FinishAllAndSuccess - Führt alle Aufgaben aus und meldet den Erfolg.
- FinishAllAndError - Führt alle Aufgaben aus und meldet einen 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 Softwarelizenzen verfügbar: der GNU Lesser General Public License, Version 3, oder der GNU General Public License, Version 2. Weitere Informationen finden Sie unter Qt-Lizenzierung.
© 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.