5#ifndef QQMLPROPERTYMAP_H
6#define QQMLPROPERTYMAP_H
8#include <QtQml/qtqmlglobal.h>
9#include <QtQml/qqmlregistration.h>
10#include <QtQml/qqmlprivate.h>
12#include <QtCore/QObject>
13#include <QtCore/QHash>
14#include <QtCore/QStringList>
15#include <QtCore/QVariant>
20class QQmlPropertyMapPrivate;
26#if QT_DEPRECATED_SINCE(6
, 11
)
27 QT_DEPRECATED_VERSION_X_6_11(
"Use create() or the protected two-argument constructor instead.")
28 explicit QQmlPropertyMap(QObject *parent =
nullptr);
31 static QQmlPropertyMap *create(QObject *parent =
nullptr);
33 ~QQmlPropertyMap() override;
35 QVariant value(
const QString &key)
const;
36 void insert(
const QString &key,
const QVariant &value);
37 void insert(
const QVariantHash &values);
38 void clear(
const QString &key);
41 Q_INVOKABLE QStringList keys()
const;
46 bool contains(
const QString &key)
const;
48 QVariant &operator[](
const QString &key);
49 QVariant operator[](
const QString &key)
const;
52 void valueChanged(
const QString &key,
const QVariant &value);
55 virtual QVariant updateValue(
const QString &key,
const QVariant &input);
57 template<
class DerivedType>
58 QQmlPropertyMap(DerivedType *derived, QObject *parentObj)
59 : QQmlPropertyMap(&DerivedType::staticMetaObject, parentObj)
65 friend class QtPrivate::QMetaTypeForType<QQmlPropertyMap>;
67 QQmlPropertyMap(
const QMetaObject *staticMetaObject, QObject *parent);
69 Q_DECLARE_PRIVATE(QQmlPropertyMap)
70 Q_DISABLE_COPY(QQmlPropertyMap)
QVariant updateValue(const QString &key, const QVariant &input)
void emitChanged(const QString &key, const QVariant &value)
const QString & propertyName(int index) const
static bool validKeyName(const QString &name)
The QQmlPropertyMap class allows you to set key-value pairs that can be used in QML bindings.
Combined button and popup list for selecting options.