diff options
author | Stephen Kelly <stephen.kelly@kdab.com> | 2013-04-05 13:23:38 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-05-20 09:09:06 +0200 |
commit | 87e27eb870d08ee8953cc9b350ed29c5b3e4f785 (patch) | |
tree | 8e022660f5fb09e617707b9d0c6eeb321f66df5c /src/corelib/doc/snippets | |
parent | 65f953407a3a1726db3949743c28e1f9e2ad0e8b (diff) |
Add container access functionality for associative containers in QVariant.
Change-Id: I4763a4c157e52918a0a68cba63624c0649aca235
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Diffstat (limited to 'src/corelib/doc/snippets')
-rw-r--r-- | src/corelib/doc/snippets/code/src_corelib_kernel_qvariant.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/corelib/doc/snippets/code/src_corelib_kernel_qvariant.cpp b/src/corelib/doc/snippets/code/src_corelib_kernel_qvariant.cpp index 779c35d879..ab909e5065 100644 --- a/src/corelib/doc/snippets/code/src_corelib_kernel_qvariant.cpp +++ b/src/corelib/doc/snippets/code/src_corelib_kernel_qvariant.cpp @@ -162,3 +162,33 @@ if (variant.canConvert<QVariantList>()) { } //! [9] + +//! [10] + +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>(); + // Can use foreach over the values: + foreach (const QVariant &v, iterable) { + qDebug() << v; + } + // Can use C++11 range-for over the values: + for (const QVariant &v : iterable) { + qDebug() << v; + } + // Can use iterators: + 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(); + } +} + +//! [10] |