Sur cette page

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é.

Voir aussi type() et name().

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.