Qt TaskTree
Qt TaskTree proporciona una forma declarativa de componer y ejecutar flujos de trabajo de tareas asíncronas con un adecuado manejo de errores y políticas de ejecución.
Nota: Qt TaskTree en 6.11 está en Technology Preview, excluyendo su API de las promesas de compatibilidad de Qt.
Para empezar
Qt TaskTree le permite crear jerarquías de tareas complejas con diferentes políticas de ejecución, ejecución paralela/secuencial y manejo de errores adecuado.
Conceptos clave:
- Recetas - Descripciones declarativas de flujos de trabajo de tareas.
- Grupos - Contenedores que definen las políticas de ejecución para las tareas hijas.
- Almacenamiento - Sistema de almacenamiento local para compartir datos entre tareas.
- Iteradores - Soporte para bucles y ejecución de tareas repetitivas.
Uso del módulo
Para utilizar la API C++ de un módulo Qt es necesario enlazar con la biblioteca del módulo, ya sea directamente o a través de otras dependencias. Varias herramientas de compilación tienen soporte dedicado para esto, incluyendo CMake y qmake.
Construcción con CMake
Utilice el comando find_package() para localizar el componente del módulo necesario en el paquete Qt6:
find_package(Qt6 REQUIRED COMPONENTS TaskTree)
target_link_libraries(mytarget PRIVATE Qt6::TaskTree)Para obtener más información, consulta la descripción general de la compilación con CMake.
Compilación con qmake
Para configurar el módulo para su compilación con qmake, añada el módulo como valor de la variable QT en el archivo .pro del proyecto:
QT += tasktree
Adaptadores de tareas
El módulo incluye varios adaptadores de tareas incorporados para operaciones comunes:
- QProcessTask - Ejecuta procesos externos.
- QThreadFunctionTask - Ejecuta funciones en hilos separados.
- QNetworkReplyWrapperTask - Maneja operaciones de red.
- QTcpSocketWrapperTask - Maneja operaciones de socket TCP.
- QBarrierTask - Proporciona primitivas de sincronización.
- QTimeoutTask - Proporciona retardos basados en temporizadores.
Políticas de flujo de trabajo
Los grupos soportan diferentes políticas de flujo de trabajo para manejar los resultados de las tareas:
- StopOnError - Detiene la ejecución al primer error (por defecto).
- ContinueOnError - Continúa la ejecución a pesar de los errores.
- StopOnSuccess - Se detiene a la primera tarea correcta.
- ContinueOnSuccess - Continúa a pesar de las tareas completadas con éxito.
- StopOnSuccessOrError - Se detiene en la primera tarea completada.
- FinishAllAndSuccess - Ejecuta todas las tareas, informa de éxito.
- FinishAllAndError - Ejecuta todas las tareas, informa de error.
Ejemplos
Referencia
Licencias
El módulo Qt TaskTree está disponible bajo licencias comerciales de The Qt Company. Además, está disponible bajo licencias de software libre: La Licencia Pública General Reducida de GNU, versión 3, o la Licencia Pública General de GNU, versión 2. Vea Licencias Qt para más detalles.
© 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.