QMetaSequence::Iterable Class
class QMetaSequence::IterableLa classe ` QMetaSequence::Iterable ` est une interface itérable pour un conteneur dans un ` QVariant`. En savoir plus...
Cette classe a été introduite dans Qt 6.11.
Types publics
(since 6.11) class | ConstIterator |
(since 6.11) class | Iterator |
| BidirectionalConstIterator | |
| BidirectionalIterator | |
| ForwardConstIterator | |
| ForwardIterator | |
| InputConstIterator | |
| InputIterator | |
| RandomAccessConstIterator | |
| RandomAccessIterator |
Fonctions publiques
Description détaillée
Cette classe offre plusieurs méthodes permettant d’accéder aux valeurs d’un conteneur contenu dans un objet ` QVariant`. Une instance de ` QMetaSequence::Iterable ` peut être extraite d’un objet ` QVariant ` si celui-ci peut être converti en ` QVariantList`, ou si le conteneur qu’il contient est enregistré à l’aide de ` Q_DECLARE_SEQUENTIAL_CONTAINER_METATYPE`. La plupart des conteneurs séquentiels présents dans Qt XML, ainsi que certains de la bibliothèque standard C++, sont automatiquement enregistrés.
QList<int> intList = {7, 11, 42};
QVariant variant = QVariant::fromValue(intList);
if (variant.canConvert<QVariantList>()) {
QMetaSequence::Iterable iterable = variant.value<QMetaSequence::Iterable>();
// Possibilité d'utiliser la boucle « range-for » de C++11 :
for (const QVariant&v: iterable) {
qDebug() << v;
}
// Possibilité d'utiliser des itérateurs :
QMetaSequence::Iterable::const_iteratorit = iterable.begin();
const QMetaSequence::Iterable::const_iteratorend = iterable.end();
for ( ; it != end;++it) {
qDebug() << *it;
}
}Le conteneur lui-même n'est pas copié avant d'être parcouru.
Voir également QVariant.
Documentation sur les types de membres
[alias] Iterable::BidirectionalConstIterator
Expose un const_iterator à l'aide de std::bidirectional_iterator_tag.
[alias] Iterable::BidirectionalIterator
Expose un itérateur à l'aide de std::bidirectional_iterator_tag.
[alias] Iterable::ForwardConstIterator
Expose un const_iterator à l'aide de std::forward_iterator_tag.
[alias] Iterable::ForwardIterator
Expose un itérateur à l'aide de std::forward_iterator_tag.
[alias] Iterable::InputConstIterator
Expose un const_iterator à l'aide de std::input_iterator_tag.
[alias] Iterable::InputIterator
Expose un itérateur à l'aide de std::input_iterator_tag.
[alias] Iterable::RandomAccessConstIterator
Expose un const_iterator à l'aide de std::random_access_iterator_tag.
[alias] Iterable::RandomAccessIterator
Expose un itérateur à l'aide de std::random_access_iterator_tag.
Documentation des fonctions membres
QVariant Iterable::at(qsizetype idx) const
Renvoie la valeur située à l'idx e du conteneur.
Remarque : si le conteneur sous-jacent ne propose pas de moyen natif pour récupérer un élément à un index donné, cette méthode synthétisera l'accès à l'aide d'itérateurs. Ce comportement est déprécié et sera supprimé dans une future version de Qt.
Voir aussi setAt().
void Iterable::setAt(qsizetype idx, const QVariant &value)
Définit l'élément situé à la position idx dans le conteneur sur value.
Voir également at().
© 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.