Sur cette page

Qt TaskTree

Qt TaskTree offre 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 adaptées.

Remarque : Qt TaskTree, dans la version 6.12, est en préversion technologique (Technology Preview) ; son API n’est donc pas couverte par les 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 ou séquentielle, ainsi qu'une gestion des erreurs appropriée.

Concepts clés :

  • Recettes: descriptions déclaratives des flux de tâches.
  • Groupes: conteneurs définissant les politiques d’exécution des tâches enfants.
  • Stockage: système de stockage local au niveau du thread permettant le partage de données entre les tâches.
  • Itérateurs - Prise en charge des boucles et de l'exécution répétitive des tâches.

Utilisation du module

L'utilisation de l'API C++ d'un module Qt nécessite une liaison avec la bibliothèque du module, soit directement, soit via d'autres dépendances. Plusieurs outils de compilation prennent cela en charge, notamment CMake et qmake.

Compilation avec CMake

Utilisez la commande « find_package() » pour localiser le composant de module requis dans le paquet « Qt6 » :

find_package(Qt6 REQUIRED COMPONENTS TaskTree)
target_link_libraries(mytarget PRIVATE Qt6::TaskTree)

Pour plus de détails, consultez la présentation « Compilation avec CMake ».

Compilation avec qmake

Pour configurer le module en vue d’une compilation 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 inclut plusieurs adaptateurs de tâches intégrés pour les opérations courantes :

Politiques de workflow

Les groupes prennent en charge différentes politiques de flux de travail pour le traitement des résultats des tâches :

Exemples

Référence

Licences

Le module Qt TaskTree est disponible sous licence commerciale auprès de The Qt Company. Il est également disponible sous licence de logiciel libre : la licence publique générale restreinte GNU, version 3, ou la licence publique générale GNU, version 2. Voir la page Licences Qt 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.