QtTaskTree::RepeatIterator Class
class QtTaskTree::RepeatIteratorL'itérateur répétitif à utiliser à l'intérieur de la boucle « For element ». En savoir plus...
| En-tête : | #include <qtasktree.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS TaskTree) target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake : | QT += tasktree |
| Depuis : | Qt 6.11 |
| Hérite de : | QtTaskTree::Iterator |
| 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
| RepeatIterator(qsizetype count) |
Voir également Iterator, ForeverIterator, UntilIterator et ListIterator.
Documentation sur les fonctions membres
[explicit] RepeatIterator::RepeatIterator(qsizetype count)
Crée l'itérateur répétitif pour la construction « For (RepeatIterator(count)) >> Do {} ». L'itérateur s'exécutera count s de fois.
Exemple d'utilisation :
static const int maxTries = 5;
static const int maxNumber = 10;
const int luckyNumber = QRandomGenerator().global()->bounded(maxNumber);
qDebug() << "Today's lucky number is:" << luckyNumber;
qDebug() << "You have" << maxTries << "lottery tickets.";
qDebug() << "Let's start the drawing...";
const auto onNumberCheck = [luckyNumber] {
const int drawnNumber = QRandomGenerator().global()->bounded(maxNumber);
qDebug() << "You have drawn:" << drawnNumber;
return drawnNumber== luckyNumber;
};
const auto onDone = [](DoneWith result) {
if (result== DoneWith::Success)
qDebug() << "You have won! Congratulations!";
else if (result== DoneWith::Error)
qDebug() << "You have lost. Try again.";
};
const Group recipe {
For (RepeatIterator(maxTries)) >> Do {
stopOnSuccess,
timeoutTask(1s),
QSyncTask(onNumberCheck)
},
onGroupDone(onDone)
};Résultat possible lorsque la fonction recipe est lancée par la fonction QTaskTree et s’achève avec succès :
Today's lucky number is: 6
You have 5 lottery tickets.
Let's start the drawing...
You have drawn: 9
You have drawn: 6
You have won! Congratulations!En cas d’échec, le résultat pourrait ressembler à ceci :
Today's lucky number is: 8
You have 5 lottery tickets.
Let's start the drawing...
You have drawn: 1
You have drawn: 7
You have drawn: 6
You have drawn: 7
You have drawn: 2
You have lost. Try again.© 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.