Auf dieser Seite

QtTaskTree::UntilIterator Class

class QtTaskTree::UntilIterator

Der 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)

Ausführliche Beschreibung

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.