En esta página

QtTaskTree::QSyncTask Class

class QtTaskTree::QSyncTask

Ejecuta sincrónicamente un manejador personalizado entre otras tareas. Más...

Cabecera: #include <qtasktree.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS TaskTree)
target_link_libraries(mytarget PRIVATE Qt6::TaskTree)
qmake: QT += tasktree
Desde: Qt 6.11
Hereda: QtTaskTree::ExecutableItem

Nota: Todas las funciones de esta clase son reentrantes.

Funciones Públicas

QSyncTask(Handler &&handler)

Descripción Detallada

QSyncTask es útil cuando se desea ejecutar un manejador adicional entre otras tareas. QSyncTask es visto por su padre Group como cualquier otra tarea. Evite la ejecución prolongada del cuerpo del manejador de QSyncTask, ya que se ejecuta sincrónicamente desde el hilo de llamada. Si esto es inevitable, considere utilizar QThreadFunctionTask en su lugar.

Documentación de Funciones Miembro

[explicit] template <typename Handler, std::enable_if_t<!std::is_same_v<q20::remove_cvref_t<Handler>, QSyncTask>, bool> = true> QSyncTask::QSyncTask(Handler &&handler)

Construye un elemento que ejecuta un handler pasado de forma sincrónica. El Handler es del tipo std::function<DoneResult()>. El valor DoneResult, devuelto por handler, se tiene en cuenta durante la resolución del grupo padre workflow policy. Opcionalmente, también se acepta la forma abreviada de std::function<void()>. En este caso, se asume que el valor devuelto es DoneResult::Success.

El handler pasado se ejecuta de forma sincrónica desde el hilo de la llamada, por lo que debe evitarse una ejecución prolongada del cuerpo del manejador. De lo contrario, considere el uso de QThreadFunctionTask.

Nota: El elemento QSyncTask no se cuenta como una tarea cuando se informa del progreso del árbol de tareas, y no se incluye en QTaskTree::taskCount() o QTaskTree::progressMaximum().

© 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.