QMetaProperty Class
La classe QMetaProperty fournit des métadonnées sur une propriété. En savoir plus...
| En-tête : | #include <QMetaProperty> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
Fonctions publiques
(since 6.0) QUntypedBindable | bindable(QObject *object) const |
| QMetaEnum | enumerator() const |
| bool | hasNotifySignal() const |
(since 6.0) bool | isBindable() const |
| bool | isConstant() const |
| bool | isDesignable() const |
| bool | isEnumType() const |
| bool | isFinal() const |
| bool | isFlagType() const |
(since 6.11) bool | isOverride() const |
| bool | isReadable() const |
| bool | isRequired() const |
| bool | isResettable() const |
| bool | isScriptable() const |
| bool | isStored() const |
| bool | isUser() const |
| bool | isValid() const |
(since 6.11) bool | isVirtual() const |
| bool | isWritable() const |
(since 6.0) 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 |
(since 6.0) int | typeId() const |
| const char * | typeName() const |
| int | userType() const |
| bool | write(QObject *object, const QVariant &value) const |
(since 6.6) bool | write(QObject *object, QVariant &&v) const |
| bool | writeOnGadget(void *gadget, const QVariant &value) const |
(since 6.6) bool | writeOnGadget(void *gadget, QVariant &&value) const |
Description détaillée
Les métadonnées de propriété sont obtenues à partir du méta-objet d'un objet. Voir QMetaObject::property() et QMetaObject::propertyCount() pour plus de détails.
Métadonnées de propriété
Une propriété possède une méthode ` name()` et une méthode ` metaType()`, ainsi que divers attributs qui spécifient son comportement : ` isReadable()`, ` isWritable()`, ` isDesignable()`, ` isScriptable()`, ` revision()` et ` isStored()`.
Si la propriété est une énumération, la méthode isEnumType() renvoie true; si la propriété est une énumération qui est également un indicateur (c'est-à-dire que ses valeurs peuvent être combinées à l'aide de l'opérateur OR), les méthodes isEnumType() et isFlagType() renvoient toutes deux true. L'énumérateur pour ces types est disponible via la méthode enumerator().
Les valeurs de la propriété sont définies et récupérées à l'aide de read(), write() et reset() ; elles peuvent également être modifiées via les fonctions set et get de QObject. Voir QObject::setProperty() et QObject::property() pour plus de détails.
Copie et affectation
Les objets `QMetaProperty` peuvent être copiés par valeur. Cependant, chaque copie fera référence aux mêmes métadonnées de propriété sous-jacentes.
Voir également QMetaObject, QMetaEnum, QMetaMethod et le système de propriétés de Qt.
Documentation des fonctions membres
[since 6.0] QUntypedBindable QMetaProperty::bindable(QObject *object) const
Renvoie l'interface liable correspondant à la propriété d'un objet ` object` donné.
Si la propriété ne prend pas en charge les liaisons, l'interface renvoyée sera invalide.
Cette fonction a été introduite dans Qt 6.0.
Voir également QObjectBindableProperty, QProperty et isBindable().
QMetaEnum QMetaProperty::enumerator() const
Renvoie l'énumérateur si le type de cette propriété est un type d'énumérateur ; sinon, la valeur renvoyée est indéfinie.
Voir également isEnumType() et isFlagType().
bool QMetaProperty::hasNotifySignal() const
Renvoie « true » si cette propriété dispose d'un signal de notification de modification correspondant ; sinon, renvoie « false ».
Voir également notifySignal().
[since 6.0] bool QMetaProperty::isBindable() const
Renvoie « true » si l'Q_PROPERTY() e expose des fonctionnalités de liaison ; sinon, renvoie « false ».
Cela signifie que vous pouvez créer des liaisons utilisant cette propriété comme dépendance ou installer des objets QPropertyObserver sur cette propriété. À moins que la propriété ne soit en lecture seule, vous pouvez également définir une liaison sur cette propriété.
Cette fonction a été introduite dans Qt 6.0.
Voir également QProperty, isWritable() et bindable().
bool QMetaProperty::isConstant() const
Renvoie « true » si la propriété est constante ; sinon, renvoie « false ».
Une propriété est constante si l’attribut « CONSTANT » de l’ Q_PROPERTY() est défini.
bool QMetaProperty::isDesignable() const
Renvoie false si l'attribut DESIGNABLE de l'Q_PROPERTY() est défini sur false ; sinon, renvoie true.
Voir également isScriptable() et isStored().
bool QMetaProperty::isEnumType() const
Renvoie « true » si le type de la propriété est une valeur d'énumération ; sinon, renvoie « false ».
Voir également enumerator() et isFlagType().
bool QMetaProperty::isFinal() const
Renvoie « true » si la propriété est finale ; sinon, renvoie « false ».
Une propriété est finale si l'attribut FINAL de l'Q_PROPERTY() est défini.
bool QMetaProperty::isFlagType() const
Renvoie « true » si le type de la propriété est une valeur d'énumération utilisée comme indicateur ; sinon, renvoie « false ».
Les indicateurs peuvent être combinés à l’aide de l’opérateur OR. Un type d’indicateur est implicitement aussi un type d’énumération.
Voir également isEnumType(), enumerator() et QMetaEnum::isFlag().
[since 6.11] bool QMetaProperty::isOverride() const
Renvoie « true » si la propriété est redéfinie ; sinon, renvoie « false ».
Une propriété est redéfinie si l'attribut OVERRIDE de Q_PROPERTY() est défini.
Cette fonction a été introduite dans Qt 6.11.
bool QMetaProperty::isReadable() const
Renvoie « true » si cette propriété est accessible en lecture ; sinon, renvoie « false ».
Voir également isWritable(), read() et isValid().
bool QMetaProperty::isRequired() const
Renvoie « true » si la propriété est obligatoire ; sinon, renvoie « false ».
Une propriété est finale si l'attribut REQUIRED de Q_PROPERTY() est défini.
bool QMetaProperty::isResettable() const
Renvoie « true » si cette propriété peut être réinitialisée à sa valeur par défaut ; sinon, renvoie « false ».
Voir également reset().
bool QMetaProperty::isScriptable() const
Renvoie « false » si l'attribut « SCRIPTABLE » de l'Q_PROPERTY() est à « false » ; sinon, renvoie « true ».
Voir également isDesignable() et isStored().
bool QMetaProperty::isStored() const
Renvoie « true » si la propriété est enregistrée ; sinon, renvoie « false ».
La fonction renvoie « false » si l'attribut « STORED » de l'Q_PROPERTY() est à « false » ; sinon, elle renvoie « true ».
Voir aussi isDesignable() et isScriptable().
bool QMetaProperty::isUser() const
Renvoie « false » si l'attribut « USER » de l'Q_PROPERTY() est défini sur « false ». Sinon, elle renvoie « true », indiquant que la propriété est désignée comme la propriété « USER », c'est-à-dire celle que l'utilisateur peut modifier ou qui revêt une importance particulière d'une autre manière.
Voir également QMetaObject::userProperty(), isDesignable() et isScriptable().
bool QMetaProperty::isValid() const
Renvoie « true » si cette propriété est valide (lisible) ; sinon, renvoie « false ».
Voir également isReadable().
[since 6.11] bool QMetaProperty::isVirtual() const
Renvoie « true » si la propriété est virtuelle ; sinon, renvoie « false ».
Une propriété est virtuelle si l'attribut VIRTUAL de Q_PROPERTY() est défini.
Cette fonction a été introduite dans Qt 6.11.
bool QMetaProperty::isWritable() const
Renvoie « true » si cette propriété est accessible en écriture ; sinon, renvoie « false ».
Voir également isReadable() et write().
[since 6.0] QMetaType QMetaProperty::metaType() const
Renvoie l'QMetaType e de cette propriété.
Cette fonction a été introduite dans Qt 6.0.
Voir également QMetaType.
const char *QMetaProperty::name() const
Renvoie le nom de cette propriété.
Voir également type() et typeName().
QMetaMethod QMetaProperty::notifySignal() const
Renvoie l'instance ` QMetaMethod ` du signal de notification de modification de propriété si celui-ci a été spécifié ; sinon, renvoie une ` QMetaMethod` non valide.
Voir aussi hasNotifySignal().
int QMetaProperty::notifySignalIndex() const
Renvoie l'index du signal de notification de modification de propriété si celui-ci a été spécifié ; sinon, renvoie -1.
Voir également hasNotifySignal().
int QMetaProperty::propertyIndex() const
Renvoie l'index de cette propriété.
QVariant QMetaProperty::read(const QObject *object) const
Lit la valeur de la propriété à partir de l'object spécifiée. Renvoie la valeur si la lecture a abouti ; sinon, renvoie une variante non valide.
Voir également write(), reset() et isReadable().
QVariant QMetaProperty::readOnGadget(const void *gadget) const
Lit la valeur de la propriété à partir de l'gadget on fournie. Renvoie la valeur si la lecture a abouti ; sinon, renvoie une variante non valide.
Cette fonction ne doit être utilisée que s'il s'agit d'une propriété d'un Q_GADGET
int QMetaProperty::relativePropertyIndex() const
Renvoie l'index relatif de cette propriété au sein de l'objet méta qui l'englobe.
bool QMetaProperty::reset(QObject *object) const
Réinitialise la propriété de l'object ion indiquée à l'aide d'une méthode de réinitialisation. Renvoie « true » si la réinitialisation a réussi ; sinon, renvoie « false ».
Les méthodes de réinitialisation sont facultatives ; seules quelques propriétés les prennent en charge.
Voir également read() et write().
bool QMetaProperty::resetOnGadget(void *gadget) const
Réinitialise la propriété de l'gadget ion donnée à l'aide d'une méthode de réinitialisation. Renvoie « true » si la réinitialisation a réussi ; sinon, renvoie « false ».
Les méthodes de réinitialisation sont facultatives ; seules quelques propriétés les prennent en charge.
Cette fonction ne doit être utilisée que s’il s’agit d’une propriété d’un Q_GADGET
int QMetaProperty::revision() const
Renvoie la révision de la propriété si celle-ci a été spécifiée par ` Q_REVISION` ; sinon, renvoie 0. Depuis Qt 6.0, les valeurs non nulles sont encodées et peuvent être décodées à l'aide de ` QTypeRevision::fromEncodedVersion()`.
[since 6.0] int QMetaProperty::typeId() const
Renvoie le type de stockage de la propriété. Cela revient à appeler ` metaType()`.id().
Cette fonction a été introduite dans Qt 6.0.
Voir également QMetaType, typeName() et metaType().
const char *QMetaProperty::typeName() const
Renvoie le nom du type de cette propriété.
int QMetaProperty::userType() const
Renvoie le type utilisateur de cette propriété. La valeur renvoyée correspond à l'une des valeurs enregistrées via ` QMetaType`.
Cela équivaut à metaType().id()
Voir également type(), QMetaType, typeName() et metaType().
bool QMetaProperty::write(QObject *object, const QVariant &value) const
Écrit value comme valeur de la propriété dans l'object donné. Renvoie « true » si l'écriture a réussi ; sinon, renvoie « false ».
Si value n’est pas du même type que la propriété, une conversion est tentée. Un QVariant() vide équivaut à un appel à reset() si cette propriété est réinitialisable, ou à la définition d’un objet construit par défaut dans le cas contraire.
Remarque : cette fonction effectue en interne une copie de ` value`. Privilégiez l’utilisation de la surcharge rvalue lorsque cela est possible.
Voir également read(), reset() et isWritable().
[since 6.6] bool QMetaProperty::write(QObject *object, QVariant &&v) const
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.6.
bool QMetaProperty::writeOnGadget(void *gadget, const QVariant &value) const
Écrit la valeur « value » dans la propriété de l'gadget. Renvoie « true » si l'écriture a réussi ; sinon, renvoie « false ».
Cette fonction ne doit être utilisée que s’il s’agit d’une propriété d’un Q_GADGET
[since 6.6] bool QMetaProperty::writeOnGadget(void *gadget, QVariant &&value) const
Il s'agit d'une fonction surchargée.
Cette fonction a été introduite dans Qt 6.6.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.