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.