Sur cette page

QMetaProperty Class

La classe QMetaProperty fournit des métadonnées sur une propriété. Plus d'informations...

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éta-donné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éta-données des propriétés

Une propriété a un name() et un 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, isEnumType() renvoie true; si la propriété est une énumération qui est également un drapeau (c'est-à-dire que ses valeurs peuvent être combinées à l'aide de l'opérateur OR), isEnumType() et isFlagType() renvoient tous deux true. L'énumérateur pour ces types est disponible à partir de enumerator().

Les valeurs de la propriété sont définies et récupérées avec read(), write() et reset() ; elles peuvent également être modifiées à l'aide des 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éta-données de propriété sous-jacentes.

Voir aussi QMetaObject, QMetaEnum, QMetaMethod, et le système de propriété de Qt.

Documentation sur les fonctions membres

[since 6.0] QUntypedBindable QMetaProperty::bindable(QObject *object) const

Renvoie l'interface liante pour la propriété sur un site object donné.

Si la propriété ne supporte pas les bindings, l'interface retournée sera invalide.

Cette fonction a été introduite dans Qt 6.0.

Voir aussi 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 aussi isEnumType() et isFlagType().

bool QMetaProperty::hasNotifySignal() const

Renvoie true si cette propriété a un signal de notification de changement correspondant ; sinon, renvoie false.

Voir aussi notifySignal().

[since 6.0] bool QMetaProperty::isBindable() const

Renvoie true si le site Q_PROPERTY() expose la fonctionnalité de liaison ; sinon, renvoie false.

Cela signifie que vous pouvez créer des liaisons qui utilisent 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 aussi 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 Q_PROPERTY()'s CONSTANT est défini.

bool QMetaProperty::isDesignable() const

Renvoie false si l'attribut DESIGNABLE de Q_PROPERTY() est faux ; sinon, renvoie true.

Voir aussi 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 aussi 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 Q_PROPERTY()'s FINAL 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 aussi isEnumType(), enumerator() et QMetaEnum::isFlag().

[since 6.11] bool QMetaProperty::isOverride() const

Renvoie true si la propriété est prioritaire, sinon renvoie false.

Une propriété est prioritaire si l'attribut Q_PROPERTY()'s OVERRIDE est défini.

Cette fonction a été introduite dans Qt 6.11.

bool QMetaProperty::isReadable() const

Renvoie true si cette propriété est lisible ; sinon, renvoie false.

Voir aussi 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 Q_PROPERTY()'s REQUIRED est défini.

bool QMetaProperty::isResettable() const

Renvoie true si cette propriété peut être réinitialisée à une valeur par défaut ; sinon, renvoie false.

Voir aussi reset().

bool QMetaProperty::isScriptable() const

Renvoie false si l'attribut SCRIPTABLE de Q_PROPERTY() est faux ; sinon, renvoie true.

Voir aussi isDesignable() et isStored().

bool QMetaProperty::isStored() const

Renvoie true si la propriété est stockée, sinon renvoie false.

La fonction renvoie false si l'attribut STORED de Q_PROPERTY() est faux, sinon elle renvoie true.

Voir également isDesignable() et isScriptable().

bool QMetaProperty::isUser() const

Renvoie false si l'attribut USER de Q_PROPERTY() est faux. Sinon, il renvoie true, ce qui indique que la propriété est désignée comme la propriété USER, c'est-à-dire celle que l'utilisateur peut modifier ou qui est significative 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 aussi 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 Q_PROPERTY()'s VIRTUAL 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 aussi isReadable() et write().

[since 6.0] QMetaType QMetaProperty::metaType() const

Renvoie l'adresse QMetaType de cette propriété.

Cette fonction a été introduite dans Qt 6.0.

Voir aussi QMetaType.

const char *QMetaProperty::name() const

Renvoie le nom de cette propriété.

Voir aussi type() et typeName().

QMetaMethod QMetaProperty::notifySignal() const

Renvoie l'instance QMetaMethod du signal de notification de changement de propriété s'il a été spécifié, sinon renvoie un QMetaMethod invalide.

Voir aussi hasNotifySignal().

int QMetaProperty::notifySignalIndex() const

Renvoie l'index du signal de notification de changement de propriété s'il a été spécifié, sinon renvoie -1.

Voir aussi 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é sur le site object. Renvoie la valeur s'il a pu la lire ; sinon, il renvoie une variante non valide.

Voir aussi write(), reset() et isReadable().

QVariant QMetaProperty::readOnGadget(const void *gadget) const

Lit la valeur de la propriété sur le site gadget. Elle renvoie la valeur si elle a pu la lire, sinon elle renvoie une variante invalide.

Cette fonction ne doit être utilisée que s'il s'agit d'une propriété d'un objet de type Q_GADGET

int QMetaProperty::relativePropertyIndex() const

Renvoie l'indice de cette propriété par rapport à l'objet méta qui l'entoure.

bool QMetaProperty::reset(QObject *object) const

Réinitialise la propriété pour le site object avec une méthode de réinitialisation. Retourne true si la réinitialisation a fonctionné ; sinon, retourne false.

Les méthodes de réinitialisation sont facultatives ; seules quelques propriétés les prennent en charge.

Voir aussi read() et write().

bool QMetaProperty::resetOnGadget(void *gadget) const

Réinitialise la propriété pour le site gadget avec une méthode de réinitialisation. Retourne true si la réinitialisation a fonctionné ; sinon, retourne 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 objet de type Q_GADGET

int QMetaProperty::revision() const

Renvoie la révision de la propriété si elle 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é. C'est la même chose que metaType().id().

Cette fonction a été introduite dans Qt 6.0.

Voir aussi 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 d'utilisateur de cette propriété. La valeur de retour est l'une des valeurs enregistrées sur QMetaType.

Ceci est équivalent à metaType().id()

Voir aussi type(), QMetaType, typeName(), et metaType().

bool QMetaProperty::write(QObject *object, const QVariant &value) const

Écrit value en tant que valeur de la propriété sur le site object. Retourne true si l'écriture a réussi, sinon retourne false.

Si value n'est pas du même type que la propriété, une conversion est tentée. Un QVariant() vide est équivalent à 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.

Note : Cette fonction fait une copie interne de value. Il est préférable d'utiliser la surcharge rvalue lorsque c'est possible.

Voir aussi 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 value en tant que valeur de la propriété sur le site gadget. Retourne true si l'écriture a réussi, sinon retourne false.

Cette fonction ne doit être utilisée que s'il s'agit d'une propriété d'un fichier 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.