Auf dieser Seite

QMetaAssociation::Iterable Class

class QMetaAssociation::Iterable

QMetaAssociation::Iterable ist eine iterierbare Schnittstelle für einen assoziativen Container in einem „ QVariant “. Mehr...

Diese Klasse wurde in Qt 6.11 eingeführt.

Öffentliche Typen

Öffentliche Funktionen

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

Ausführliche Beschreibung

Diese Klasse bietet verschiedene Methoden für den Zugriff auf die Elemente eines assoziativen Containers, der in einem „ QVariant “ enthalten ist. Eine Instanz von „ QMetaAssociation::Iterable “ kann aus einem „ QVariant “ extrahiert werden, wenn dieser in einen „ QVariantHash “ oder „ QVariantMap “ konvertiert werden kann oder wenn eine benutzerdefinierte, veränderbare Ansicht registriert wurde.

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>();
    // Es kann ein C++11-Range-for-Zyklus über die Werte verwendet werden:
    for (const QVariant&v: iterable) {
        qDebug() << v;
    }
    // Iteratoren können verwendet werden:
    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();
    }
}

Der Container selbst wird vor der Iteration nicht kopiert.

Siehe auch QVariant.

Dokumentation zu Mitgliedstypen

[alias] Iterable::BidirectionalConstIterator

Stellt einen const_iterator mithilfe von std::bidirectional_iterator_tag bereit.

[alias] Iterable::BidirectionalIterator

Stellt einen Iterator mithilfe von std::bidirectional_iterator_tag bereit.

[alias] Iterable::ForwardConstIterator

Stellt einen const_iterator mithilfe von std::forward_iterator_tag bereit.

[alias] Iterable::ForwardIterator

Stellt einen Iterator mithilfe von std::forward_iterator_tag bereit.

[alias] Iterable::InputConstIterator

Stellt einen const_iterator mithilfe von std::input_iterator_tag bereit.

[alias] Iterable::InputIterator

Stellt einen Iterator mithilfe von std::input_iterator_tag bereit.

[alias] Iterable::RandomAccessConstIterator

Stellt einen const_iterator mithilfe von std::random_access_iterator_tag bereit.

[alias] Iterable::RandomAccessIterator

Stellt einen Iterator mithilfe von std::random_access_iterator_tag bereit.

Dokumentation zu den Member-Funktionen

bool Iterable::containsKey(const QVariant &key) const

Gibt „ true “ zurück, wenn der Container einen Eintrag mit dem angegebenen „ key “ enthält, andernfalls „ false “. Wenn „ key “ nicht in den erwarteten Typ konvertierbar ist, wird „ false “ zurückgegeben.

QMetaAssociation::Iterable::ConstIterator Iterable::find(const QVariant &key) const

Ruft einen ` ConstIterator ` ab, der auf das Element unter der angegebenen ` key` verweist, oder auf das Ende des Containers, falls dieser Schlüssel nicht existiert. Wenn die ` key ` nicht in den erwarteten Typ konvertiert werden kann, wird das Ende des Containers zurückgegeben.

void Iterable::insertKey(const QVariant &key)

Fügt einen neuen Eintrag mit dem angegebenen „ key “ ein oder setzt den zugeordneten Wert eines bestehenden Eintrags mit dem angegebenen „ key “ auf den standardmäßig generierten zugeordneten Wert zurück. Der „ key “ wird in den erwarteten Typ umgewandelt: Ist er nicht konvertierbar, wird ein Standardwert eingefügt.

QMetaAssociation::Iterable::Iterator Iterable::mutableFind(const QVariant &key)

Ruft einen Iterator ab, der auf das Element unter dem angegebenen Schlüssel ` key` verweist, oder auf das Ende des Containers, falls dieser Schlüssel nicht existiert. Wenn der Schlüssel ` key ` nicht in den erwarteten Typ konvertiert werden kann, wird das Ende des Containers zurückgegeben.

void Iterable::removeKey(const QVariant &key)

Entfernt den Eintrag mit dem angegebenen „ key “ aus dem Container. Der „ key “ wird in den erwarteten Typ umgewandelt: Ist er nicht konvertierbar, wird der Standardwert entfernt.

void Iterable::setValue(const QVariant &key, const QVariant &mapped)

Setzt den zu „ key “ gehörenden zugeordneten Wert auf „ mapped “, sofern möglich. Fügt einen neuen Eintrag für den angegebenen „ key “ ein, falls noch keiner vorhanden ist. Wenn der „ key “ nicht in den Schlüsseltyp konvertierbar ist, wird der Wert für den standardmäßig konstruierten Schlüsseltyp überschrieben.

Siehe auch value().

QVariant Iterable::value(const QVariant &key) const

Ruft den zugeordneten Wert unter dem angegebenen Schlüssel „ key “ ab oder, falls der Schlüssel nicht existiert, eine „ QVariant “ einer standardmäßig konstruierten Instanz des zugeordneten Typs. Wenn der Schlüssel „ key “ nicht in den Schlüsseltyp konvertierbar ist, wird der dem standardmäßig konstruierten Schlüssel zugeordnete Wert zurückgegeben.

Siehe auch 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.