The QMetaProperty class provides meta-data about a property. 更多...
| 頭: | #include <QMetaProperty> |
| qmake: | QT += core |
| QMetaEnum | enumerator () const |
| bool | hasNotifySignal () const |
| bool | isConstant () const |
| bool | isDesignable (const QObject * object = nullptr) const |
| bool | isEnumType () const |
| bool | isFinal () const |
| bool | isFlagType () const |
| bool | isReadable () const |
| bool | isRequired () const |
| bool | isResettable () const |
| bool | isScriptable (const QObject * object = nullptr) const |
| bool | isStored (const QObject * object = nullptr) const |
| bool | isUser (const QObject * object = nullptr) const |
| bool | isValid () const |
| bool | isWritable () 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 |
| QVariant::Type | type () 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 () 和 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 的特性係統 .
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 ().
返迴
true
if the property is constant; otherwise returns
false
.
A property is constant if the
Q_PROPERTY()
's
CONSTANT
屬性有設置。
該函數在 Qt 4.6 引入。
返迴
true
if this property is designable for the given
object
;否則返迴
false
.
若無
object
is given, the function returns
false
若
Q_PROPERTY()
's
DESIGNABLE
attribute is false; otherwise returns
true
(if the attribute is true or is a function or expression).
另請參閱 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
屬性有設置。
該函數在 Qt 4.6 引入。
返迴
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 ().
返迴
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 ().
返迴
true
if the property is scriptable for the given
object
;否則返迴
false
.
若無
object
is given, the function returns
false
若
Q_PROPERTY()
's
SCRIPTABLE
attribute is false; otherwise returns true (if the attribute is true or is a function or expression).
另請參閱 isDesignable () 和 isStored ().
返迴
true
if the property is stored for
object
;否則返迴 false。
若無
object
is given, the function returns
false
若
Q_PROPERTY()
's
STORED
attribute is false; otherwise returns true (if the attribute is true or is a function or expression).
另請參閱 isDesignable () 和 isScriptable ().
返迴
true
if this property is designated as the
USER
property, i.e., the one that the user can edit for
object
or that is significant in some other way. Otherwise it returns false. e.g., the
text
property is the
USER
editable property of a
QLineEdit
.
若
object
is
nullptr
,函數返迴
false
若
Q_PROPERTY()
's
USER
attribute is false. Otherwise it returns true.
另請參閱 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 ().
Returns this property's name.
返迴 QMetaMethod instance of the property change notifying signal if one was specified, otherwise returns an invalid QMetaMethod .
該函數在 Qt 4.5 引入。
另請參閱 hasNotifySignal ().
Returns the index of the property change notifying signal if one was specified, otherwise returns -1.
該函數在 Qt 4.6 引入。
另請參閱 hasNotifySignal ().
Returns this property's index.
該函數在 Qt 4.6 引入。
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 ().
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 引入。
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.
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 引入。
Returns the property revision if one was specified by REVISION, otherwise returns 0.
該函數在 Qt 5.1 引入。
Returns this property's type. The return value is one of the values of the QVariant::Type enumeration.
另請參閱 userType (), typeName (),和 name ().
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 ,或 QMetaType::UnknownType if the type is not registered.
該函數在 Qt 4.2 引入。
另請參閱 type (), QMetaType ,和 typeName ().
寫入
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 ().
寫入
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 引入。