QMetaAssociation::Iterable Class
class QMetaAssociation::IterableQMetaAssociation::Iterable est une interface itérable pour un conteneur associatif dans un site QVariant. 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
| bool | containsKey(const QVariant &key) const |
| QMetaAssociation::Iterable::ConstIterator | find(const QVariant &key) const |
| void | insertKey(const QVariant &key) |
| QMetaAssociation::Iterable::Iterator | mutableFind(const QVariant &key) |
| void | removeKey(const QVariant &key) |
| void | setValue(const QVariant &key, const QVariant &mapped) |
| QVariant | value(const QVariant &key) const |
Description détaillée
Cette classe permet plusieurs méthodes d'accès aux éléments d'un conteneur associatif contenu dans un QVariant. Une instance de QMetaAssociation::Iterable peut être extraite d'un QVariant s'il peut être converti en QVariantHash ou QVariantMap ou si une vue mutable personnalisée a été enregistrée.
QHash<int, QString> mapping ; mapping.insert(7, "Seven") ; mapping.insert(11, "Eleven") ; mapping.insert(42, "Forty-two") ;QVariant variant = QVariant::fromValue(mapping) ;if (variant.canConvert<QVariantHash>()) { QMetaAssociation::Iterable iterable = variant.value<QMetaAssociation::Iterable>() ; // On peut utiliser C++11 range-for sur les valeurs : for(const QVariant &v: iterable) { qDebug() << v; } // On peut utiliser des itérateurs: QMetaAssociation::Iterable::const_iterator it = iterable.begin() ; const QMetaAssociation::Iterable::const_iterator end = iterable.end() ; for ( ; it != end ; ++it) { qDebug() << *it; // The current value qDebug() << it.key(); qDebug() << it.value(); } }
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 utilisant std::bidirectional_iterator_tag.
[alias] Iterable::BidirectionalIterator
Expose un itérateur utilisant std::bidirectional_iterator_tag.
[alias] Iterable::ForwardConstIterator
Expose un const_iterator utilisant std::forward_iterator_tag.
[alias] Iterable::ForwardIterator
Expose un itérateur utilisant std::forward_iterator_tag.
[alias] Iterable::InputConstIterator
Expose un const_iterator utilisant std::input_iterator_tag.
[alias] Iterable::InputIterator
Expose un itérateur utilisant std::input_iterator_tag.
[alias] Iterable::RandomAccessConstIterator
Expose un const_iterator utilisant std::random_access_iterator_tag.
[alias] Iterable::RandomAccessIterator
Expose un itérateur utilisant std::random_access_iterator_tag.
Documentation des fonctions membres
bool Iterable::containsKey(const QVariant &key) const
Retourne true si le conteneur a une entrée avec le type donné key, ou false sinon. Si key n'est pas convertible dans le type attendu, false est renvoyé.
QMetaAssociation::Iterable::ConstIterator Iterable::find(const QVariant &key) const
Récupère un ConstIterator pointant vers l'élément à l'adresse key donnée, ou la fin du conteneur si cette clé n'existe pas. Si l'adresse key n'est pas convertible dans le type attendu, la fin du conteneur est renvoyée.
void Iterable::insertKey(const QVariant &key)
Insère une nouvelle entrée avec l'adresse key, ou réinitialise la valeur mappée de toute entrée existante avec l'adresse key à la valeur mappée construite par défaut. L'adresse key est contrainte au type attendu : S'il n'est pas convertible, une valeur par défaut est insérée.
QMetaAssociation::Iterable::Iterator Iterable::mutableFind(const QVariant &key)
Récupère un itérateur pointant vers l'élément à l'adresse key, ou vers la fin du conteneur si cette clé n'existe pas. Si l'adresse key n'est pas convertible dans le type attendu, la fin du conteneur est renvoyée.
void Iterable::removeKey(const QVariant &key)
Supprime du conteneur l'entrée correspondant à l'adresse key. L'adresse key est convertie au type attendu : S'il n'est pas convertible, la valeur par défaut est supprimée.
void Iterable::setValue(const QVariant &key, const QVariant &mapped)
Définit la valeur mappée associée à key en mapped, si possible. Insère une nouvelle entrée, s'il n'en existe pas encore, pour la valeur key donnée. Si key n'est pas convertible en type de clé, la valeur du type de clé construit par défaut est remplacée.
Voir aussi value().
QVariant Iterable::value(const QVariant &key) const
Récupère la valeur mappée à l'adresse key donnée, ou une adresse QVariant d'une instance construite par défaut du type mappé, si la clé n'existe pas. Si key n'est pas convertible en type de clé, la valeur mappée associée à la clé construite par défaut est renvoyée.
Voir également setValue().
© 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.