Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qqmlproperty.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QQMLPROPERTY_H
5#define QQMLPROPERTY_H
6
7#include <QtCore/qstring.h>
8#include <QtCore/qhashfunctions.h>
9#include <QtQml/qtqmlglobal.h>
10#include <QtCore/qmetaobject.h>
11#include <QtQml/qqmlregistration.h>
12
14
15
16class QObject;
17class QVariant;
18class QQmlContext;
19class QQmlEngine;
20
22class Q_QML_EXPORT QQmlProperty
23{
27
28 Q_PROPERTY(QObject *object READ object CONSTANT FINAL)
29 Q_PROPERTY(QString name READ name CONSTANT FINAL)
30public:
37
38 enum Type {
41 SignalProperty
42 };
43
46
50
51 QQmlProperty(QObject *, const QString &);
54
56 QQmlProperty &operator=(const QQmlProperty &);
57
58 QQmlProperty(QQmlProperty &&other) noexcept : d(std::exchange(other.d, nullptr)) {}
59 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QQmlProperty)
60
62 bool operator==(const QQmlProperty &) const;
63
64 Type type() const;
65 bool isValid() const;
66 bool isProperty() const;
67 bool isSignalProperty() const;
68
69 int propertyType() const;
70 QMetaType propertyMetaType() const;
71 PropertyTypeCategory propertyTypeCategory() const;
72 const char *propertyTypeName() const;
73
74 QString name() const;
75
76 QVariant read() const;
77 static QVariant read(const QObject *, const QString &);
78 static QVariant read(const QObject *, const QString &, QQmlContext *);
79 static QVariant read(const QObject *, const QString &, QQmlEngine *);
80
81 bool write(const QVariant &) const;
82 static bool write(QObject *, const QString &, const QVariant &);
83 static bool write(QObject *, const QString &, const QVariant &, QQmlContext *);
84 static bool write(QObject *, const QString &, const QVariant &, QQmlEngine *);
85
86 bool reset() const;
87
88 bool hasNotifySignal() const;
89 bool needsNotifySignal() const;
90 bool connectNotifySignal(QObject *dest, const char *slot) const;
91 bool connectNotifySignal(QObject *dest, int method) const;
92
93 bool isWritable() const;
94 bool isBindable() const;
95 bool isDesignable() const;
96 bool isResettable() const;
97 QObject *object() const;
98
99 int index() const;
100 QMetaProperty property() const;
101 QMetaMethod method() const;
102
103private:
105 QQmlPropertyPrivate *d = nullptr;
106};
107typedef QList<QQmlProperty> QQmlProperties;
108
109inline size_t qHash (const QQmlProperty &key, size_t seed = 0)
110{
111 return qHashMulti(seed, key.object(), key.name());
112}
113
115
117
118#endif // QQMLPROPERTY_H
\inmodule QtCore
Definition qmetaobject.h:19
\inmodule QtCore
\inmodule QtCore
Definition qmetatype.h:341
\inmodule QtCore
Definition qobject.h:103
The QQmlContext class defines a context within a QML engine.
Definition qqmlcontext.h:25
The QQmlEngine class provides an environment for instantiating QML components.
Definition qqmlengine.h:57
The QQmlProperty class abstracts accessing properties on objects created from QML.
QQmlProperty()
Create an invalid QQmlProperty.
QQmlProperty(QQmlProperty &&other) noexcept
PropertyTypeCategory
This enum specifies a category of QML property.
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qvariant.h:65
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char * method
constexpr QtPrivate::QHashMultiReturnType< T... > qHashMulti(size_t seed, const T &... args) noexcept(std::conjunction_v< QtPrivate::QNothrowHashable< T >... >)
GLuint64 key
GLuint index
[2]
GLuint object
[3]
GLenum type
GLuint name
GLboolean reset
#define QML_ANONYMOUS
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
QList< QQmlProperty > QQmlProperties
size_t qHash(const QQmlProperty &key, size_t seed=0)
static Q_CONSTINIT QBasicAtomicInteger< unsigned > seed
Definition qrandom.cpp:196
bool operator==(const QRandomGenerator &rng1, const QRandomGenerator &rng2)
Definition qrandom.cpp:1220
constexpr void qt_ptr_swap(T *&lhs, T *&rhs) noexcept
Definition qswap.h:29
#define Q_PROPERTY(...)
#define Q_GADGET
@ Q_RELOCATABLE_TYPE
Definition qtypeinfo.h:158
#define Q_DECLARE_TYPEINFO(TYPE, FLAGS)
Definition qtypeinfo.h:180
ReturnedValue read(const char *data)
const char property[13]
Definition qwizard.cpp:101
gzip write("uncompressed data")
QSharedPointer< T > other(t)
[5]
this swap(other)
Definition moc.h:23