QMetaAssociation::Iterable Class
class QMetaAssociation::IterableQMetaAssociation::Iterable QVariant 내의 연관 컨테이너를 위한 반복 가능한 인터페이스입니다. 더 보기...
이 클래스는 Qt 6.11에서 도입되었습니다.
공개 유형
(since 6.11) class | ConstIterator |
(since 6.11) class | Iterator |
| BidirectionalConstIterator | |
| BidirectionalIterator | |
| ForwardConstIterator | |
| ForwardIterator | |
| InputConstIterator | |
| InputIterator | |
| RandomAccessConstIterator | |
| RandomAccessIterator |
공개 함수
| 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 |
상세 설명
이 클래스는 ` QVariant` 내에 포함된 연관 컨테이너의 요소에 접근할 수 있는 여러 가지 방법을 제공합니다. ` QVariant `에서 ` QMetaAssociation::Iterable `의 인스턴스를 추출할 수 있는 경우는, 해당 ` `가 ` QVariantHash ` 또는 ` QVariantMap `로 변환될 수 있거나, 사용자 정의 가변 뷰가 등록된 경우입니다.
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>();
// 값들에 대해 C++11 범위 for 문을 사용할 수 있습니다:
for (const QVariant&v: iterable) {
qDebug() << v;
}
// 반복자를 사용할 수 있습니다:
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();
}
}컨테이너 자체는 반복 처리를 시작하기 전에 복사되지 않습니다.
QVariant도 참조하십시오 .
멤버 유형 문서
[alias] Iterable::BidirectionalConstIterator
std::bidirectional_iterator_tag를 사용하여 const_iterator를 노출합니다.
[alias] Iterable::BidirectionalIterator
std::bidirectional_iterator_tag를 사용하여 반복자를 노출합니다.
[alias] Iterable::ForwardConstIterator
std::forward_iterator_tag를 사용하여 const_iterator를 노출합니다.
[alias] Iterable::ForwardIterator
std::forward_iterator_tag를 사용하여 이터레이터를 노출합니다.
[alias] Iterable::InputConstIterator
std::input_iterator_tag를 사용하여 const_iterator를 노출합니다.
[alias] Iterable::InputIterator
std::input_iterator_tag를 사용하여 반복자를 노출합니다.
[alias] Iterable::RandomAccessConstIterator
std::random_access_iterator_tag를 사용하여 const_iterator를 노출합니다.
[alias] Iterable::RandomAccessIterator
std::random_access_iterator_tag를 사용하여 이터레이터를 노출합니다.
멤버 함수 설명서
bool Iterable::containsKey(const QVariant &key) const
컨테이너에 지정된 ` key` 값을 가진 항목이 있으면 ` true `를 반환하고, 그렇지 않으면 ` false `를 반환합니다. ` key `가 예상되는 유형으로 변환할 수 없는 경우 ` false `가 반환됩니다.
QMetaAssociation::Iterable::ConstIterator Iterable::find(const QVariant &key) const
지정된 key 위치에 있는 요소를 가리키는 ConstIterator 를 반환합니다. 해당 키가 존재하지 않을 경우 컨테이너의 끝을 반환합니다. key 가 예상된 유형으로 변환할 수 없는 경우, 컨테이너의 끝이 반환됩니다.
void Iterable::insertKey(const QVariant &key)
지정된 ` key`을 사용하여 새 항목을 삽입하거나, 지정된 ` key `을 가진 기존 항목의 매핑된 값을 기본 생성된 매핑된 값으로 재설정합니다. ` key `는 예상되는 유형으로 강제 변환됩니다. 변환할 수 없는 경우 기본값이 삽입됩니다.
QMetaAssociation::Iterable::Iterator Iterable::mutableFind(const QVariant &key)
지정된 키 key 에 해당하는 요소를 가리키는 이터레이터를 반환하며, 해당 키가 존재하지 않을 경우 컨테이너의 끝을 반환합니다. 키 key 가 예상되는 유형으로 변환할 수 없는 경우, 컨테이너의 끝이 반환됩니다.
void Iterable::removeKey(const QVariant &key)
지정된 ` key ` 값을 가진 항목을 컨테이너에서 제거합니다. ` key `는 예상되는 유형으로 강제 변환됩니다. 변환이 불가능한 경우, 기본값이 제거됩니다.
void Iterable::setValue(const QVariant &key, const QVariant &mapped)
가능한 경우, ` key `과 연관된 매핑된 값을 ` mapped`으로 설정합니다. 주어진 ` key`에 해당하는 항목이 아직 존재하지 않으면 새로운 항목을 삽입합니다. ` key `가 키 유형으로 변환될 수 없는 경우, 기본 생성된 키 유형의 값이 덮어쓰입니다.
value()도 참조하십시오 .
QVariant Iterable::value(const QVariant &key) const
지정된 key 에서 매핑된 값을 반환하거나, 키가 존재하지 않을 경우 매핑된 유형의 기본 생성된 인스턴스에 대한 QVariant 를 반환합니다. key 가 키 유형으로 변환될 수 없는 경우, 기본 생성된 키와 연관된 매핑된 값이 반환됩니다.
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.