The QMetaProperty class provides meta-data about a property. 更多...
| 头: | #include <QMetaProperty> | 
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) 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 () 和 QMetaObject::propertyCount () 了解细节。
A property has a name () and a type(), as well as various attributes that specify its behavior: isReadable (), isWritable (), isDesignable (), isScriptable (), revision (),和 isStored ().
						If the property is an enumeration,
						
							isEnumType
						
						() 返回
						
true
						
						; if the property is an enumeration that is also a flag (i.e. its values can be combined using the OR operator),
						
							isEnumType
						
						() 和
						
							isFlagType
						
						() both return true. The enumerator for these types is available from
						
							enumerator
						
						().
					
The property's values are set and retrieved with read (), write (),和 reset (); they can also be changed through QObject 's set and get functions. See QObject::setProperty () 和 QObject::property () 了解细节。
QMetaProperty objects can be copied by value. However, each copy will refer to the same underlying property meta-data.
另请参阅 QMetaObject , QMetaEnum , QMetaMethod ,和 Qt 的特性系统 .
[since 6.0]
						
						
							
								QUntypedBindable
							
						
						QMetaProperty::
						
							bindable
						
						(
						
							
								QObject
							
						
						*
						object
						) const
						
					Returns the bindable interface for the property on a given object .
If the property doesn't support bindings, the returned interface will be invalid.
该函数在 Qt 6.0 引入。
另请参阅 QObjectBindableProperty , QProperty ,和 isBindable ().
Returns the enumerator if this property's type is an enumerator type; otherwise the returned value is undefined.
另请参阅 isEnumType () 和 isFlagType ().
						返回
						
true
						
						if this property has a corresponding change notify signal; otherwise returns
						
false
						
						.
					
另请参阅 notifySignal ().
[since 6.0]
						
						
							bool
						
						QMetaProperty::
						
							isBindable
						
						() const
						
					
						返回
						
true
						
						若
						
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.
该函数在 Qt 6.0 引入。
另请参阅 QProperty , isWritable (),和 bindable ().
						返回
						
true
						
						if the property is constant; otherwise returns
						
false
						
						.
					
						A property is constant if the
						
Q_PROPERTY()
						
						's
						
CONSTANT
						
						属性有设置。
					
						返回
						
false
						
						若
						
Q_PROPERTY()
						
						's
						
DESIGNABLE
						
						attribute is false; otherwise returns
						
true
						
						.
					
另请参阅 isScriptable () 和 isStored ().
						返回
						
true
						
						if the property's type is an enumeration value; otherwise returns
						
false
						
						.
					
另请参阅 enumerator () 和 isFlagType ().
						返回
						
true
						
						if the property is final; otherwise returns
						
false
						
						.
					
						A property is final if the
						
Q_PROPERTY()
						
						's
						
FINAL
						
						属性有设置。
					
						返回
						
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.
另请参阅 isEnumType (), enumerator (),和 QMetaEnum::isFlag ().
						返回
						
true
						
						if this property is readable; otherwise returns
						
false
						
						.
					
另请参阅 isWritable (), read (),和 isValid ().
[since 5.15]
						
						
							bool
						
						QMetaProperty::
						
							isRequired
						
						() const
						
					
						返回
						
true
						
						if the property is required; otherwise returns
						
false
						
						.
					
						A property is final if the
						
Q_PROPERTY()
						
						's
						
REQUIRED
						
						属性有设置。
					
该函数在 Qt 5.15 引入。
						返回
						
true
						
						if this property can be reset to a default value; otherwise returns
						
false
						
						.
					
另请参阅 reset ().
						返回
						
false
						
						若
						
Q_PROPERTY()
						
						's
						
SCRIPTABLE
						
						attribute is false; otherwise returns true.
					
另请参阅 isDesignable () 和 isStored ().
						返回
						
true
						
						if the property is stored; otherwise returns false.
					
						函数返回
						
false
						
						若
						
Q_PROPERTY()
						
						's
						
STORED
						
						attribute is false; otherwise returns true.
					
另请参阅 isDesignable () 和 isScriptable ().
						返回
						
false
						
						若
						
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.
					
另请参阅 QMetaObject::userProperty (), isDesignable (),和 isScriptable ().
						返回
						
true
						
						if this property is valid (readable); otherwise returns
						
false
						
						.
					
另请参阅 isReadable ().
						返回
						
true
						
						if this property is writable; otherwise returns false.
					
另请参阅 isReadable () 和 write ().
[since 6.0]
						
						
							
								QMetaType
							
						
						QMetaProperty::
						
							metaType
						
						() const
						
					Returns this property's QMetaType .
该函数在 Qt 6.0 引入。
另请参阅 QMetaType .
Returns this property's name.
返回 QMetaMethod instance of the property change notifying signal if one was specified, otherwise returns an invalid QMetaMethod .
另请参阅 hasNotifySignal ().
Returns the index of the property change notifying signal if one was specified, otherwise returns -1.
另请参阅 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.
另请参阅 write (), reset (),和 isReadable ().
[since 5.5]
						
						
							
								QVariant
							
						
						QMetaProperty::
						
							readOnGadget
						
						(const
						
							void
						
						*
						
							gadget
						
						) const
						
					Reads 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
该函数在 Qt 5.5 引入。
[since 5.14]
						
						
							int
						
						QMetaProperty::
						
							relativePropertyIndex
						
						() const
						
					Returns this property's index relative within the enclosing meta object.
该函数在 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
						
						) const
						
					
						Resets 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
该函数在 Qt 5.5 引入。
[since 5.1]
						
						
							int
						
						QMetaProperty::
						
							revision
						
						() const
						
					Returns the property revision if one was specified by REVISION, otherwise returns 0.
该函数在 Qt 5.1 引入。
[since 6.0]
						
						
							int
						
						QMetaProperty::
						
							typeId
						
						() const
						
					Returns the storage type of the property. This is the same as metaType ().id().
该函数在 Qt 6.0 引入。
另请参阅 QMetaType , typeName (),和 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 .
这相当于 metaType ().id()
另请参阅 type (), QMetaType , typeName (),和 metaType ().
						写入
						value
						as the property's value to the given
						object
						. Returns true if the write succeeded; otherwise returns
						
false
						
						.
					
若 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.
另请参阅 read (), reset (),和 isWritable ().
[since 5.5]
						
						
							bool
						
						QMetaProperty::
						
							writeOnGadget
						
						(
						
							void
						
						*
						
							gadget
						
						, const
						
							
								QVariant
							
						
						&
						value
						) const
						
					
						写入
						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
该函数在 Qt 5.5 引入。