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

Detaillierte Beschreibung

Diese Klasse ermöglicht mehrere Methoden des Zugriffs auf die Elemente eines assoziativen Containers, der in einem QVariant enthalten ist. Eine Instanz von QMetaAssociation::Iterable kann aus einem QVariant extrahiert werden, wenn sie in ein 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>(); // Kann C++11 range-for über die Werte verwenden: for(const QVariant &v: iterable) {        qDebug() << v;
    } // Kann Iteratoren verwenden:    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();
    } }

Der Container selbst wird nicht kopiert, bevor darüber iteriert wird.

Siehe auch QVariant.

Dokumentation der Mitgliedstypen

[alias] Iterable::BidirectionalConstIterator

Stellt einen const_iterator mit std::bidirectional_iterator_tag dar.

[alias] Iterable::BidirectionalIterator

Stellt einen Iterator mit std::bidirectional_iterator_tag dar.

[alias] Iterable::ForwardConstIterator

Stellt einen const_iterator mit std::forward_iterator_tag dar.

[alias] Iterable::ForwardIterator

Stellt einen Iterator mit std::forward_iterator_tag dar.

[alias] Iterable::InputConstIterator

Zeigt einen const_iterator unter Verwendung von std::input_iterator_tag an.

[alias] Iterable::InputIterator

Stellt einen Iterator mit std::input_iterator_tag dar.

[alias] Iterable::RandomAccessConstIterator

Stellt einen const_iterator mit std::random_access_iterator_tag dar.

[alias] Iterable::RandomAccessIterator

Stellt einen Iterator mit std::random_access_iterator_tag dar.

Dokumentation der Mitgliedsfunktionen

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

Gibt true zurück, wenn der Container einen Eintrag mit dem angegebenen key hat, 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 eine ConstIterator ab, die auf das Element mit dem angegebenen key zeigt, oder das Ende des Containers, wenn dieser Schlüssel nicht existiert. Wenn der key nicht in den erwarteten Typ konvertierbar ist, 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 vorhandenen Eintrags mit dem angegebenen key auf den standardmäßig konstruierten zugeordneten Wert zurück. Der key wird in den erwarteten Typ umgewandelt: Wenn er nicht konvertierbar ist, wird ein Standardwert eingefügt.

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

Ruft einen Iterator ab, der auf das Element mit dem angegebenen key zeigt, oder auf das Ende des Containers, wenn dieser Schlüssel nicht existiert. Wenn key nicht in den erwarteten Typ konvertierbar ist, 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 konvertiert: Wenn er nicht konvertierbar ist, wird der Standardwert entfernt.

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

Setzt den mit key verbundenen gemappten Wert auf mapped, falls möglich. Fügt einen neuen Eintrag für den angegebenen key ein, falls noch keiner existiert. Wenn 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 gemappten Wert unter der angegebenen key ab, oder eine QVariant einer standardmäßig konstruierten Instanz des gemappten Typs, wenn der Schlüssel nicht existiert. Wenn key nicht in den Schlüsseltyp konvertierbar ist, wird der gemappte Wert, der mit dem standardmäßig konstruierten Schlüssel verbunden ist, 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.