QtTaskTree::If Class
class QtTaskTree::IfUn élément "if" utilisé dans les expressions conditionnelles. Plus d'informations...
| En-tête : | #include <qconditional.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS TaskTree)target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake : | QT += tasktree |
| Depuis : | Qt 6.11 |
Note : Toutes les fonctions de cette classe sont réentrantes.
Fonctions publiques
Description détaillée
Élément de condition initiale des expressions conditionnelles. Doit toujours être suivi de l'élément Then.
Les expressions conditionnelles du module TaskTree permettent de traiter les conditions de branche et leurs corps de manière asynchrone. Par exemple :
const Group recipe { If (conditionTask1) >> Then { bodyTask1 } >> ElseIf (conditionTask2) >> Then { bodyTask2 } >> Else { bodyTask3 } };
Lorsque la recette ci-dessus est exécutée avec QTaskTree, l'arbre des tâches lance d'abord l'exécution asynchrone de conditionTask1. Une fois qu'elle est terminée, en fonction du résultat, l'arbre des tâches peut soit exécuter bodyTask1 lorsque conditionTask1 s'est terminé avec succès, soit distribuer une autre condition en exécutant conditionTask2 dans le cas contraire. Si bodyTask1 est exécuté, aucune autre tâche n'est exécutée et le résultat de bodyTask1 est le résultat final de toute l'expression conditionnelle.
Voir également Then, Else, et ElseIf.
Documentation sur les fonctions membres
[explicit] If::If(const QtTaskTree::ExecutableItem &condition)
Crée un élément de condition initiale avec la tâche condition à utiliser dans une expression conditionnelle. L'application QTaskTree exécute d'abord la tâche condition passée, et une fois qu'elle est terminée, la branche Then est exécutée (en cas de succès), ou bien la branche Else ou la condition ElseIf est fournie de manière facultative, sinon.
L'élément condition transmis peut consister en plusieurs tâches incluses dans l'élément Group, ou être une conjonction ou une disjonction de ces tâches, comme par exemple :
const Group subRecipe { parallel, parallelConditionTask1, parallelConditionTask2 }; const Group recipe { If (conditionTask1 && !conditionTask2) >> Then { bodyTask1 } >> ElseIf (subRecipe) >> Then { bodyTask2 } >> Else { bodyTask3 } };
[explicit] template <typename Handler, std::enable_if_t<!std::is_base_of_v<ExecutableItem, std::decay_t<Handler>>, bool> = true> If::If(Handler &&handler)
Un constructeur d'aide acceptant le handler synchrone à exécuter lors de l'évaluation de la condition initiale par le QTaskTree en cours d'exécution.
C'est un raccourci pour :
If (QSyncTask(handler))Voir QSyncTask pour plus d'informations sur les types de gestionnaires acceptables.
Il s'agit d'une fonction surchargée.
© 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.