QtTaskTree::If Class
class QtTaskTree::IfUn élément « if » utilisé dans les expressions conditionnelles. En savoir plus...
| 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 |
| 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
Description détaillée
Élément de condition initiale des expressions conditionnelles. Doit toujours être suivi d'un élément d Then.
Les expressions conditionnelles du module TaskTree permettent le traitement asynchrone des conditions de branchement et de leurs corps. 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’arborescence des tâches lance d’abord l’ conditionTask1 de manière asynchrone. Une fois celle-ci terminée, en fonction du résultat, l’arborescence des tâches peut soit exécuter l’ bodyTask1 lorsque l’ conditionTask1 s’est terminée avec succès, soit déclencher une autre condition en exécutant conditionTask2 dans le cas contraire. Si l’ bodyTask1 est exécutée, aucune autre tâche n’est exécutée, et le résultat de bodyTask1 constitue le résultat final de l’expression conditionnelle dans son ensemble.
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 une tâche « condition » destinée à être utilisée dans une expression conditionnelle. L’ QTaskTree en cours d’exécution exécute d’abord la tâche « condition » qui lui a été transmise, puis, une fois celle-ci terminée, soit la branche « Then » est exécutée (en cas de succès), soit, dans le cas contraire, la branche « Else » fournie de manière facultative ou la condition « ElseIf ».
La tâche condition transmise peut être composée de plusieurs tâches encapsulées dans un élément Group, ou constituer une conjonction ou une disjonction de celles-ci, 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 auxiliaire acceptant l'handler synchrone à exécuter lors de l'évaluation de la condition initiale par l'QTaskTree en cours d'exécution.
Il s'agit d'un raccourci pour :
If (QSyncTask(handler))Voir QSyncTask pour plus d’informations sur les types de gestionnaires acceptés.
Il s'agit d'une fonction surchargée.
Voir également QSyncTask et ElseIf.
[constexpr noexcept default] If::If(QtTaskTree::If &&other)
Crée par construction une instance de ` If`.
© 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.