Sur cette page

QMetaAssociation::Iterable Class

class QMetaAssociation::Iterable

QMetaAssociation::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

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.