QtTaskTree::If Class
class QtTaskTree::IfEin „if“-Element, das in bedingten Ausdrücken verwendet wird. Mehr...
| Kopfzeile: | #include <qconditional.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree) target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| Seit: | Qt 6.11 |
| Status: | Technologievorschau |
Diese Klasse befindet sich in der Technologievorschau und kann sich noch ändern.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Funktionen
Detaillierte Beschreibung
Ein Element für die Anfangsbedingung der bedingten Ausdrücke. Es muss immer von einem Element vom Typ „ Then “ gefolgt werden.
Die bedingten Ausdrücke im TaskTree-Modul ermöglichen die asynchrone Verarbeitung von Verzweigungsbedingungen und deren Ausführungsblöcken. Beispiel:
const Group recipe {
If (conditionTask1) >> Then {
bodyTask1
} >> ElseIf (conditionTask2) >> Then {
bodyTask2
} >> Else {
bodyTask3
}
};Wenn das obige Rezept mit „ QTaskTree “ ausgeführt wird, startet der Aufgabenbaum zunächst die asynchrone „ conditionTask1 “. Nach deren Abschluss führt der Aufgabenbaum je nach Ergebnis entweder die „ bodyTask1 “ aus, sofern die „ conditionTask1 “ erfolgreich abgeschlossen wurde, oder er löst andernfalls eine andere Bedingung aus, indem er „ conditionTask2 “ ausführt. Wird die Aufgabe „ bodyTask1 “ ausgeführt, werden keine weiteren Aufgaben ausgeführt, und das Ergebnis von „ bodyTask1 “ ist das Endergebnis des gesamten bedingten Ausdrucks.
Siehe auch Then, Else und ElseIf.
Dokumentation zu Mitgliedsfunktionen
[explicit] If::If(const QtTaskTree::ExecutableItem &condition)
Erstellt ein Element für eine Anfangsbedingung mit der Aufgabe „ condition “, das in einem bedingten Ausdruck verwendet werden soll. Das laufende „ QTaskTree “ führt zunächst die übergebene „ condition “ aus, und nach deren Abschluss wird entweder der Zweig „ Then “ (bei Erfolg) oder andernfalls der optional angegebene Zweig „ Else “ bzw. die Bedingung „ ElseIf “ ausgeführt.
Die übergebene ` condition ` kann aus mehreren Aufgaben bestehen, die in einem ` Group `-Element eingeschlossen sind, oder eine Konjunktion bzw. Disjunktion davon sein, wie zum Beispiel:
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)
Ein Hilfskonstruktor, der den synchronen handler akzeptiert, der bei der Auswertung der Anfangsbedingung durch den laufenden QTaskTree ausgeführt werden soll.
Dies ist eine Abkürzung für:
If (QSyncTask(handler))Weitere Informationen dazu, welche Handler-Typen zulässig sind, finden Sie unter „ QSyncTask “.
Dies ist eine überladene Funktion.
Siehe auch QSyncTask und ElseIf.
[constexpr noexcept default] If::If(QtTaskTree::If &&other)
Erstellt eine Instanz von „ If “ mithilfe von „Move“.
© 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.