QtTaskTree::UntilIterator Class
class QtTaskTree::UntilIteratorDer bedingte Iterator, der innerhalb des „For“-Elements verwendet werden soll. Mehr...
| Header: | #include <qtasktree.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree) target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| Seit: | Qt 6.11 |
| Erbt von: | QtTaskTree::Iterator |
| Status: | Technologievorschau |
Diese Klasse befindet sich in der Technologievorschau und kann sich noch ändern.
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)
Erstellt den bedingten Iterator für die Konstruktion „For (UntilIterator(condition)) >> Do {}“. Der Iterator wird so lange wiederholt, bis die übergebene Bedingung ` condition ` den Wert „true“ zurückgibt.
Anwendungsbeispiel:
static const int maxNumber = 10;
const int luckyNumber = QRandomGenerator().global()->bounded(maxNumber);
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(maxNumber);
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)
};Mögliche Ausgabe, wenn der „ recipe “ durch den „ 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.