The QMetaProperty class provides meta-data about a property. More...
Header: | #include <QMetaProperty> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
QUntypedBindable | bindable(QObject *object) const |
QMetaEnum | enumerator() const |
bool | hasNotifySignal() const |
bool | isBindable() const |
bool | isConstant() const |
bool | isDesignable() const |
bool | isEnumType() const |
bool | isFinal() const |
bool | isFlagType() const |
bool | isReadable() const |
bool | isRequired() const |
bool | isResettable() const |
bool | isScriptable() const |
bool | isStored() const |
bool | isUser() const |
bool | isValid() const |
bool | isWritable() const |
QMetaType | metaType() const |
const char * | name() const |
QMetaMethod | notifySignal() const |
int | notifySignalIndex() const |
int | propertyIndex() const |
QVariant | read(const QObject *object) const |
QVariant | readOnGadget(const void *gadget) const |
int | relativePropertyIndex() const |
bool | reset(QObject *object) const |
bool | resetOnGadget(void *gadget) const |
int | revision() const |
int | typeId() const |
const char * | typeName() const |
int | userType() const |
bool | write(QObject *object, const QVariant &value) const |
bool | writeOnGadget(void *gadget, const QVariant &value) const |
Property meta-data is obtained from an object's meta-object. See QMetaObject::property() and QMetaObject::propertyCount() for details.
A property has a name() and a type(), as well as various attributes that specify its behavior: isReadable(), isWritable(), isDesignable(), isScriptable(), revision(), and isStored().
If the property is an enumeration, isEnumType() returns true
; if the property is an enumeration that is also a flag (i.e. its values can be combined using the OR
operator), isEnumType() and isFlagType() both return true. The enumerator for these types is available from enumerator().
The property's values are set and retrieved with read(), write(), and reset(); they can also be changed through QObject's set and get functions. See QObject::setProperty() and QObject::property() for details.
QMetaProperty objects can be copied by value. However, each copy will refer to the same underlying property meta-data.
See also QMetaObject, QMetaEnum, QMetaMethod, and Qt's Property System.
[since 6.0]
QUntypedBindable QMetaProperty::bindable(QObject *object) constReturns the bindable interface for the property on a given object.
If the property doesn't support bindings, the returned interface will be invalid.
This function was introduced in Qt 6.0.
See also QObjectBindableProperty, QProperty, and isBindable().
Returns the enumerator if this property's type is an enumerator type; otherwise the returned value is undefined.
See also isEnumType() and isFlagType().
Returns true
if this property has a corresponding change notify signal; otherwise returns false
.
See also notifySignal().
[since 6.0]
bool QMetaProperty::isBindable() constReturns true
if the Q_PROPERTY()
exposes binding functionality; otherwise returns false.
This implies that you can create bindings that use this property as a dependency or install QPropertyObserver objects on this property. Unless the property is readonly, you can also set a binding on this property.
This function was introduced in Qt 6.0.
See also QProperty, isWritable(), and bindable().
Returns true
if the property is constant; otherwise returns false
.
A property is constant if the Q_PROPERTY()
's CONSTANT
attribute is set.
Returns false
if the Q_PROPERTY()
's DESIGNABLE
attribute is false; otherwise returns true
.
See also isScriptable() and isStored().
Returns true
if the property's type is an enumeration value; otherwise returns false
.
See also enumerator() and isFlagType().
Returns true
if the property is final; otherwise returns false
.
A property is final if the Q_PROPERTY()
's FINAL
attribute is set.
Returns true
if the property's type is an enumeration value that is used as a flag; otherwise returns false
.
Flags can be combined using the OR operator. A flag type is implicitly also an enum type.
See also isEnumType(), enumerator(), and QMetaEnum::isFlag().
Returns true
if this property is readable; otherwise returns false
.
See also isWritable(), read(), and isValid().
[since 5.15]
bool QMetaProperty::isRequired() constReturns true
if the property is required; otherwise returns false
.
A property is final if the Q_PROPERTY()
's REQUIRED
attribute is set.
This function was introduced in Qt 5.15.
Returns true
if this property can be reset to a default value; otherwise returns false
.
See also reset().
Returns false
if the Q_PROPERTY()
's SCRIPTABLE
attribute is false; otherwise returns true.
See also isDesignable() and isStored().
Returns true
if the property is stored; otherwise returns false.
The function returns false
if the Q_PROPERTY()
's STORED
attribute is false; otherwise returns true.
See also isDesignable() and isScriptable().
Returns false
if the Q_PROPERTY()
's USER
attribute is false. Otherwise it returns true, indicating the property is designated as the USER
property, i.e., the one that the
user can edit or that is significant in some other way.
See also QMetaObject::userProperty(), isDesignable(), and isScriptable().
Returns true
if this property is valid (readable); otherwise returns false
.
See also isReadable().
Returns true
if this property is writable; otherwise returns false.
See also isReadable() and write().
[since 6.0]
QMetaType QMetaProperty::metaType() constReturns this property's QMetaType.
This function was introduced in Qt 6.0.
See also QMetaType.
Returns this property's name.
See also type() and typeName().
Returns the QMetaMethod instance of the property change notifying signal if one was specified, otherwise returns an invalid QMetaMethod.
See also hasNotifySignal().
Returns the index of the property change notifying signal if one was specified, otherwise returns -1.
See also hasNotifySignal().
Returns this property's index.
Reads the property's value from the given object. Returns the value if it was able to read it; otherwise returns an invalid variant.
See also write(), reset(), and isReadable().
[since 5.5]
QVariant QMetaProperty::readOnGadget(const void
*gadget) constReads the property's value from the given gadget. Returns the value if it was able to read it; otherwise returns an invalid variant.
This function should only be used if this is a property of a Q_GADGET
This function was introduced in Qt 5.5.
[since 5.14]
int QMetaProperty::relativePropertyIndex() constReturns this property's index relative within the enclosing meta object.
This function was introduced in Qt 5.14.
Resets the property for the given object with a reset method. Returns true
if the reset worked; otherwise returns false
.
Reset methods are optional; only a few properties support them.
[since 5.5]
bool QMetaProperty::resetOnGadget(void *gadget) constResets the property for the given gadget with a reset method. Returns true
if the reset worked; otherwise returns false
.
Reset methods are optional; only a few properties support them.
This function should only be used if this is a property of a Q_GADGET
This function was introduced in Qt 5.5.
[since 5.1]
int QMetaProperty::revision() constReturns the property revision if one was specified by REVISION, otherwise returns 0.
This function was introduced in Qt 5.1.
[since 6.0]
int QMetaProperty::typeId() constReturns the storage type of the property. This is the same as metaType().id().
This function was introduced in Qt 6.0.
See also QMetaType, typeName(), and metaType().
Returns the name of this property's type.
Returns this property's user type. The return value is one of the values that are registered with QMetaType.
This is equivalent to metaType().id()
See also type(), QMetaType, typeName(), and metaType().
Writes value as the property's value to the given object. Returns true if the write succeeded; otherwise returns false
.
If value is not of the same type type as the property, a conversion is attempted. An empty QVariant() is equivalent to a call to reset() if this property is resettable, or setting a default-constructed object otherwise.
See also read(), reset(), and isWritable().
[since 5.5]
bool QMetaProperty::writeOnGadget(void *gadget, const QVariant &value) constWrites value as the property's value to the given gadget. Returns true if the write succeeded; otherwise returns false
.
This function should only be used if this is a property of a Q_GADGET
This function was introduced in Qt 5.5.