Qt TaskTree
Qt TaskTree fournit un moyen déclaratif de composer et d'exécuter des flux de tâches asynchrones avec une gestion des erreurs et des politiques d'exécution appropriées.
Remarque : Qt TaskTree dans la version 6.11 est en aperçu technologique, ce qui exclut son API des promesses de compatibilité de Qt.
Pour commencer
Qt TaskTree vous permet de créer des hiérarchies de tâches complexes avec différentes politiques d'exécution, une exécution parallèle/séquentielle et une gestion des erreurs appropriée.
Concepts clés :
- Recettes - descriptions déclaratives des flux de travail des tâches.
- Groupes - Conteneurs qui définissent les politiques d'exécution pour les tâches enfants.
- Stockage - Système de stockage local pour le partage des données entre les tâches.
- Itérateurs - Prise en charge des boucles et de l'exécution des tâches répétitives.
Utilisation du module
L'utilisation de l'API C++ d'un module Qt nécessite l'établissement d'un lien avec la bibliothèque du module, soit directement, soit par l'intermédiaire d'autres dépendances. Plusieurs outils de construction disposent d'un support dédié à cet effet, notamment CMake et qmake.
Construction avec CMake
Utilisez la commande find_package() pour localiser le composant de module nécessaire dans le paquetage Qt6:
find_package(Qt6 REQUIRED COMPONENTS TaskTree)
target_link_libraries(mytarget PRIVATE Qt6::TaskTree)Pour plus de détails, voir l'aperçu de la construction avec CMake.
Construction avec qmake
Pour configurer le module en vue de sa construction avec qmake, ajoutez le module en tant que valeur de la variable QT dans le fichier .pro du projet :
QT += tasktree
Adaptateurs de tâches
Le module comprend plusieurs adaptateurs de tâches intégrés pour les opérations courantes :
- QProcessTask - Exécution de processus externes.
- QThreadFunctionTask - Exécution de fonctions dans des threads séparés.
- QNetworkReplyWrapperTask - Gestion des opérations réseau.
- QTcpSocketWrapperTask - Gère les opérations de socket TCP.
- QBarrierTask - Fournit des primitives de synchronisation.
- QTimeoutTask - Fournit des délais basés sur des minuteries.
Politiques de flux de travail
Les groupes prennent en charge différentes politiques de flux de travail pour la gestion des résultats des tâches :
- StopOnError - Arrêt de l'exécution à la première erreur (par défaut).
- ContinueOnError - Poursuit l'exécution malgré les erreurs.
- StopOnSuccess - S'arrête à la première tâche réussie.
- ContinueOnSuccess - Poursuit l'exécution malgré les tâches réussies.
- StopOnSuccessOrError - S'arrête à la première tâche terminée.
- FinishAllAndSuccess - Exécute toutes les tâches, signale un succès.
- FinishAllAndError - Exécute toutes les tâches, signale une erreur.
Exemples de l'arbre des tâches
Référence
Licences
Le module Qt TaskTree est disponible sous licence commerciale auprès de The Qt Company. Il est également disponible sous des licences de logiciel libre : La licence GNU Lesser General Public License, version 3, ou la licence GNU General Public License, version 2. Voir Qt Licensing pour plus de détails.
© 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.