diff options
Diffstat (limited to 'src/corelib/doc/snippets/code/src_corelib_kernel_qvariant.cpp')
-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] |