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