QMetaAssociation::Iterable Class
class QMetaAssociation::IterableQMetaAssociation::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
(since 6.11) class | ConstIterator |
(since 6.11) class | Iterator |
| BidirectionalConstIterator | |
| BidirectionalIterator | |
| ForwardConstIterator | |
| ForwardIterator | |
| InputConstIterator | |
| InputIterator | |
| RandomAccessConstIterator | |
| RandomAccessIterator |
Ö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.