Sur cette page

QtTaskTree::QSyncTask Class

class QtTaskTree::QSyncTask

Exécute de manière synchrone un gestionnaire personnalisé entre deux autres tâches. En savoir plus...

En-tête : #include <qtasktree.h>
CMake : find_package(Qt6 REQUIRED COMPONENTS TaskTree)
target_link_libraries(mytarget PRIVATE Qt6::TaskTree)
qmake : QT += tasktree
Depuis : Qt 6.11
Hérite de : QtTaskTree::ExecutableItem
Statut : Aperçu technologique

Cette classe est en avant-première technologique et est susceptible d'être modifiée.

Remarque : toutes les fonctions de cette classe sont réentrantes.

Fonctions publiques

QSyncTask(Handler &&handler)

Description détaillée

QSyncTask est utile lorsque vous souhaitez exécuter un gestionnaire supplémentaire entre deux autres tâches. QSyncTask est considéré par son parent Group comme n'importe quelle autre tâche. Évitez que le corps du gestionnaire de QSyncTask ne s'exécute trop longtemps, car il est exécuté de manière synchrone à partir du thread appelant. Si cela est inévitable, envisagez plutôt d'utiliser QThreadFunctionTask.

Documentation des fonctions membres

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

Crée un élément qui exécute de manière synchrone une handler qui lui est transmise. L’ Handler est de type std::function<DoneResult()>. La valeur DoneResult, renvoyée par la handler, est prise en compte lors de la résolution de l’ workflow policy du groupe parent. En option, la forme abrégée std::function<void()> est également acceptée. Dans ce cas, on suppose que la valeur renvoyée est DoneResult::Success.

L’ handler e transmis s’exécute de manière synchrone à partir du thread appelant ; évitez donc que le corps du gestionnaire ne s’exécute trop longtemps. Sinon, envisagez d’utiliser QThreadFunctionTask.

Remarque : l’élément QSyncTask n’est pas comptabilisé comme une tâche lors du rapport sur la progression de l’arborescence des tâches, et n’est pas inclus dans QTaskTree::taskCount() ni dans 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.