QtTaskTree::UntilIterator Class
class QtTaskTree::UntilIteratorDer bedingte Iterator, der innerhalb des Elements For verwendet wird. Mehr...
| Kopfzeile: | #include <qtasktree.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree)target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| Seit: | Qt 6.11 |
| Vererbt: | QtTaskTree::Iterator |
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Öffentliche Funktionen
| UntilIterator(const QtTaskTree::Iterator::Condition &condition) |
Siehe auch Iterator, ForeverIterator, RepeatIterator, und ListIterator.
Dokumentation der Mitgliedsfunktionen
[explicit] UntilIterator::UntilIterator(const QtTaskTree::Iterator::Condition &condition)
Konstruiert den bedingten Iterator für das For (UntilIterator(condition)) >> Do {}-Konstrukt. Der Iterator wird so lange wiederholt, bis die übergebene condition true zurückgibt.
Beispiel für die Verwendung:
static const int maxZahl = 10;const int luckyZahl = QRandomGenerator().global()->bounded(maxZahl); qDebug() << "Today's lucky number is:" << luckyNumber; qDebug() << "Let's start the drawing..."; const auto onConditionCheck = [luckyNumber](int iteration) { if (iteration == 0) return true; const int drawnNumber = QRandomGenerator().global()->bounded(maxZahl); qDebug() << "You have drawn:" << drawnNumber; bool gewonnen = gezogeneZahl == Glückszahl; if (gewonnen) qDebug() << "You have won! Congratulations!"; return !won; };const Group recipe = For (UntilIterator(onConditionCheck))>> Do { timeoutTask(1s, DoneResult::Success) };
Die mögliche Ausgabe, wenn die recipe von der QTaskTree gestartet wird:
Today's lucky number is: 7 Let's start the drawing... You have drawn: 2 You have drawn: 5 You have drawn: 0 You have drawn: 2 You have drawn: 4 You have drawn: 9 You have drawn: 9 You have drawn: 7 You have won! Congratulations!
© 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.