QtTaskTree::QSyncTask Class
class QtTaskTree::QSyncTaskExécute de manière synchrone un gestionnaire personnalisé entre les autres tâches. Plus d'informations...
| 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 : | QtTaskTree::ExecutableItem |
Note : 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 d'autres tâches. QSyncTask est considérée par son parent Group comme n'importe quelle autre tâche. Évitez les longues exécutions du corps du gestionnaire de QSyncTask, car il est exécuté de manière synchrone à partir du thread de l'appelant. Si cela est inévitable, envisagez d'utiliser QThreadFunctionTask à la place.
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)
Construit un élément qui exécute de manière synchrone un handler passé. Le Handler est du type std::function<DoneResult()>. La valeur DoneResult, renvoyée par handler, est prise en compte lors de la résolution workflow policy du groupe parent. La forme abrégée de std::function<void()> est également acceptée. Dans ce cas, on suppose que la valeur de retour est DoneResult::Success.
Le handler passé s'exécute de manière synchrone à partir du thread de l'appelant, évitant ainsi une exécution longue du corps du gestionnaire. Sinon, envisagez d'utiliser QThreadFunctionTask.
Remarque : l'élément QSyncTask n'est pas compté comme une tâche lorsqu'il s'agit de rendre compte de la progression de l'arborescence des tâches et n'est pas inclus dans QTaskTree::taskCount() ou 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.