QAssociativeIterable Class

Die Klasse QAssociativeIterable ist eine iterierbare Schnittstelle für einen assoziativen Container in einem QVariant. ...

Kopfzeile: #include <QAssociativeIterable>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Erbt: QIterable

Öffentliche Typen

Öffentliche Funktionen

bool containsKey(const QVariant &key)
QAssociativeIterable::const_iterator find(const QVariant &key) const
void insertKey(const QVariant &key)
QAssociativeIterable::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 QAssociativeIterable 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>()) { QAssociativeIterable iterable = variant.value<QAssociativeIterable>(); // Kann foreach über die Werte verwenden:foreach(const QVariant &v, iterable) {        qDebug() << v;
    } // Kann C++11 range-for über die Werte verwenden: for(const QVariant &v: iterable) {        qDebug() << v;
    } // Kann Iteratoren verwenden: QAssociativeIterable::const_iterator it = iterable.begin(); const QAssociativeIterable::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] QAssociativeIterable::BidirectionalConstIterator

Zeigt eine const_iterator mit std::bidirectional_iterator_tag an.

[alias] QAssociativeIterable::BidirectionalIterator

Stellt einen Iterator mit std::bidirectional_iterator_tag dar.

[alias] QAssociativeIterable::ForwardConstIterator

Zeigt eine const_iterator mit std::forward_iterator_tag an.

[alias] QAssociativeIterable::ForwardIterator

Stellt einen Iterator mit std::forward_iterator_tag dar.

[alias] QAssociativeIterable::InputConstIterator

Zeigt eine const_iterator mit std::input_iterator_tag an.

[alias] QAssociativeIterable::InputIterator

Stellt einen Iterator mit std::input_iterator_tag dar.

[alias] QAssociativeIterable::RandomAccessConstIterator

Zeigt eine const_iterator mit std::random_access_iterator_tag an.

[alias] QAssociativeIterable::RandomAccessIterator

Zeigt einen Iterator mit std::random_access_iterator_tag an.

[alias] QAssociativeIterable::const_iterator

Der QAssociativeIterable::const_iterator ermöglicht die Iteration über einen Container in einem QVariant.

Ein QAssociativeIterable::const_iterator kann nur von einer QAssociativeIterable Instanz erstellt werden und kann ähnlich wie andere stl-style Iteratoren verwendet werden.

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>()) { QAssociativeIterable iterable = variant.value<QAssociativeIterable>(); // Kann foreach über die Werte verwenden:foreach(const QVariant &v, iterable) {        qDebug() << v;
    } // Kann C++11 range-for über die Werte verwenden: for(const QVariant &v: iterable) {        qDebug() << v;
    } // Kann Iteratoren verwenden: QAssociativeIterable::const_iterator it = iterable.begin(); const QAssociativeIterable::const_iterator end = iterable.end(); for ( ; it != end;++it) {        qDebug() << *it; // The current value
        qDebug() << it.key();
        qDebug() << it.value();
    } }

Siehe auch QAssociativeIterable.

[alias, since 6.0] QAssociativeIterable::iterator

Der QAssociativeIterable::iterator ermöglicht die Iteration über einen Container in einer QVariant.

Ein QAssociativeIterable::iterator kann nur von einer QAssociativeIterable Instanz erstellt werden und kann in ähnlicher Weise wie andere stl-style Iteratoren verwendet werden.

Dieser Typedef wurde in Qt 6.0 eingeführt.

Siehe auch QAssociativeIterable.

Dokumentation der Mitgliedsfunktionen

bool QAssociativeIterable::containsKey(const QVariant &key)

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.

QAssociativeIterable::const_iterator QAssociativeIterable::find(const QVariant &key) const

Ruft eine const_iterator 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 QAssociativeIterable::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.

QAssociativeIterable::iterator QAssociativeIterable::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 QAssociativeIterable::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 QAssociativeIterable::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 QAssociativeIterable::value(const QVariant &key) const

Ruft den gemappten Wert unter der angegebenen Adresse key ab oder einen standardmäßig konstruierten QVariant des gemappten Typs, falls 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().

© 2025 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.