QMetaAssociation::Iterable Class
class QMetaAssociation::IterableQMetaAssociation::Iterable Il s'agit d'une interface itérable pour un conteneur associatif dans une 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
| 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 d'accéder, de plusieurs façons, aux éléments d'un conteneur associatif contenu dans un ` QVariant`. Une instance de ` QMetaAssociation::Iterable ` peut être extraite d'un ` QVariant ` si celui-ci peut être converti en ` QVariantHash ` ou en ` QVariantMap `, ou si une vue modifiable 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>();
// Possibilité d’utiliser une boucle « range-for » C++11 sur les valeurs :
for (const QVariant&v: iterable) {
qDebug() << v;
}
// Possibilité d'utiliser des itérateurs :
QMetaAssociation::Iterable::const_iteratorit = iterable.begin();
const QMetaAssociation::Iterable::const_iteratorend = 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 à 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
bool Iterable::containsKey(const QVariant &key) const
Renvoie ` true ` si le conteneur contient une entrée correspondant à l'key` indiquée, ou ` false ` dans le cas contraire. Si l'key ` n'est pas convertible vers le type attendu, la valeur ` false ` est renvoyée.
QMetaAssociation::Iterable::ConstIterator Iterable::find(const QVariant &key) const
Récupère un objet ` ConstIterator ` pointant vers l'élément situé à l'key indiquée, ou vers la fin du conteneur si cette clé n'existe pas. Si l'key n'est pas convertible vers le type attendu, la fin du conteneur est renvoyée.
void Iterable::insertKey(const QVariant &key)
Insère une nouvelle entrée avec l'key, ou réinitialise la valeur mappée de toute entrée existante avec l'key à la valeur mappée construite par défaut. L'key est convertie au type attendu : si elle 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 situé à l'key donnée, ou vers la fin du conteneur si cette clé n'existe pas. Si l'key n'est pas convertible vers le type attendu, c'est la fin du conteneur qui est renvoyée.
void Iterable::removeKey(const QVariant &key)
Supprime de la structure l'entrée dont l'key est spécifiée. L'key est convertie au type attendu : si elle 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 sur mapped, si possible. Insère une nouvelle entrée si aucune n'existe encore, pour l'key donné. Si l'key n'est pas convertible vers le type de clé, la valeur du type de clé construite par défaut est écrasée.
Voir également value().
QVariant Iterable::value(const QVariant &key) const
Récupère la valeur mappée associée à l'key donnée, ou une QVariant d'une instance du type mappé construite par défaut, si la clé n'existe pas. Si l'key n'est pas convertible vers le type de la 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.