Sur cette page

QQmlProperty Class

La classe QQmlProperty permet d'accéder de manière abstraite aux propriétés des objets créés à partir de QML. En savoir plus...

En-tête : #include <QQmlProperty>
CMake : find_package(Qt6 REQUIRED COMPONENTS Qml)
target_link_libraries(mytarget PRIVATE Qt6::Qml)
qmake : QT += qml
En QML : qmlProperty

Types publics

enum PropertyTypeCategory { InvalidCategory, List, Object, Normal }
enum Type { Invalid, Property, SignalProperty }

Propriétés

Fonctions publiques

QQmlProperty()
QQmlProperty(QObject *obj)
QQmlProperty(QObject *obj, QQmlContext *ctxt)
QQmlProperty(QObject *obj, QQmlEngine *engine)
QQmlProperty(QObject *obj, const QString &name)
QQmlProperty(QObject *obj, const QString &name, QQmlContext *ctxt)
QQmlProperty(QObject *obj, const QString &name, QQmlEngine *engine)
QQmlProperty(const QQmlProperty &other)
bool connectNotifySignal(QObject *dest, const char *slot) const
bool connectNotifySignal(QObject *dest, int method) const
bool hasNotifySignal() const
int index() const
bool isDesignable() const
bool isProperty() const
bool isResettable() const
bool isSignalProperty() const
bool isValid() const
bool isWritable() const
QMetaMethod method() const
QString name() const
bool needsNotifySignal() const
QObject *object() const
QMetaProperty property() const
QMetaType propertyMetaType() const
int propertyType() const
QQmlProperty::PropertyTypeCategory propertyTypeCategory() const
const char *propertyTypeName() const
QVariant read() const
bool reset() const
QQmlProperty::Type type() const
bool write(const QVariant &value) const
QQmlProperty &operator=(const QQmlProperty &other)
bool operator==(const QQmlProperty &other) const

Membres publics statiques

QVariant read(const QObject *object, const QString &name)
QVariant read(const QObject *object, const QString &name, QQmlContext *ctxt)
QVariant read(const QObject *object, const QString &name, QQmlEngine *engine)
bool write(QObject *object, const QString &name, const QVariant &value)
bool write(QObject *object, const QString &name, const QVariant &value, QQmlContext *ctxt)
bool write(QObject *object, const QString &name, const QVariant &value, QQmlEngine *engine)

Description détaillée

Comme QML utilise le système de méta-types de Qt, toutes les classes existantes de l'QMetaObject peuvent être utilisées pour analyser et interagir avec les objets créés par QML. Cependant, certaines des nouvelles fonctionnalités offertes par QML – telles que la sécurité des types et les propriétés associées – s'utilisent plus facilement via la classe QQmlProperty, qui simplifie une partie de leur complexité inhérente.

Contrairement à ` QMetaProperty `, qui représente une propriété d’un type de classe, `QQmlProperty` encapsule une propriété d’une instance d’objet spécifique. Pour lire la valeur d’une propriété, les programmeurs créent une instance de `QQmlProperty` et appellent la méthode ` read()`. De même, pour écrire la valeur d’une propriété, on utilise la méthode ` write()`.

Par exemple, pour le code QML suivant :

// MyItem.qml
import QtQuick 2.0

Text { text: "A bit of text" }

On peut accéder aux propriétés de l’objet ` Text ` à l’aide de `QQmlProperty`, comme ceci :

#include <QQmlProperty>
#include <QGraphicsObject>

...

QQuickView view(QUrl::fromLocalFile("MyItem.qml"));
QQmlProperty property(view.rootObject(), "font.pixelSize");
qWarning() << "Current pixel size:" << property.read().toInt();
property.write(24);
qWarning() << "Pixel size should now be 24:" << property.read().toInt();

Documentation sur les types de membres

enum QQmlProperty::PropertyTypeCategory

Cette énumération définit une catégorie de propriétés QML.

ConstanteValeurDescription
QQmlProperty::InvalidCategory0La propriété n'est pas valide ou il s'agit d'une propriété de signal.
QQmlProperty::List1La propriété est une propriété de liste de type « QQmlListProperty ».
QQmlProperty::Object2La propriété est un pointeur de type dérivé d'QObject
QQmlProperty::Normal3La propriété est une propriété de valeur normale.

enum QQmlProperty::Type

Cette énumération spécifie un type de propriété QML.

ConstanteValeurDescription
QQmlProperty::Invalid0La propriété n'est pas valide.
QQmlProperty::Property1La propriété est une propriété Qt standard.
QQmlProperty::SignalProperty2La propriété est une propriété de signal.

Documentation de la propriété

[read-only] name : const QString

Cette propriété contient le nom de la propriété QML.

Fonctions d’accès :

QString name() const

Voir aussi QQmlProperty::object.

[read-only] object : QObject* const

Cette propriété contient l'QObject e représentée par la propriété QML.

Fonctions d'accès :

QObject *object() const

Voir aussi QQmlProperty::name.

Documentation des fonctions membres

QQmlProperty::QQmlProperty()

Créer une propriété QQmlProperty non valide.

QQmlProperty::QQmlProperty(QObject *obj)

Crée un objet `QQmlProperty` pour la propriété par défaut de ` obj`. S'il n'y a pas de propriété par défaut, un objet `QQmlProperty` non valide sera créé.

QQmlProperty::QQmlProperty(QObject *obj, QQmlContext *ctxt)

Crée un objet `QQmlProperty` correspondant à la propriété par défaut de ` obj `, en utilisant la méthode ` context ` ctxt. S'il n'existe aucune propriété par défaut, un objet `QQmlProperty` non valide sera créé.

QQmlProperty::QQmlProperty(QObject *obj, QQmlEngine *engine)

Crée un objet `QQmlProperty` pour la propriété par défaut de ` obj `, en utilisant l'environnement d'instanciation des composants QML fourni par ` engine`. S'il n'y a pas de propriété par défaut, un objet `QQmlProperty` non valide sera créé.

QQmlProperty::QQmlProperty(QObject *obj, const QString &name)

Crée un objet QQmlProperty pour la propriété « name » de l’ obj.

QQmlProperty::QQmlProperty(QObject *obj, const QString &name, QQmlContext *ctxt)

Crée une instance de `QQmlProperty` pour la propriété ` name ` de ` obj ` à l'aide de la méthode ` context ` ctxt.

La création d’une instance de QQmlProperty sans contexte rendra certaines propriétés — telles que les propriétés associées — inaccessibles.

QQmlProperty::QQmlProperty(QObject *obj, const QString &name, QQmlEngine *engine)

Crée un objet `QQmlProperty` pour la propriété ` name ` de ` obj ` en utilisant l'environnement d'instanciation des composants QML fourni par ` engine`.

QQmlProperty::QQmlProperty(const QQmlProperty &other)

Créez une copie de « other ».

bool QQmlProperty::connectNotifySignal(QObject *dest, const char *slot) const

Relie le signal de notification de modification de la propriété à l'slot spécifiée de l'objet dest et renvoie « true ». Renvoie « false » si cette méta-propriété ne correspond pas à une propriété Qt standard, si elle ne dispose pas de signal de notification de modification, ou si l'objet dest ne possède pas l'slot spécifiée.

Remarque : l’ slot doit être transmis à l’aide de la macro SLOT() afin d’être correctement identifié.

bool QQmlProperty::connectNotifySignal(QObject *dest, int method) const

Relie le signal de notification de modification de la propriété à l’ method spécifiée de l’objet ` dest ` et renvoie `true`. Renvoie `false` si cette méta-propriété ne correspond pas à une propriété Qt standard, si elle ne dispose pas de signal de notification de modification, ou si l’objet ` dest ` ne possède pas l’ method spécifiée.

bool QQmlProperty::hasNotifySignal() const

Renvoie « true » si la propriété dispose d'un signal de notification de modification, sinon « false ».

int QQmlProperty::index() const

Renvoie l'index du méta-objet Qt correspondant à la propriété.

bool QQmlProperty::isDesignable() const

Renvoie « true » si la propriété est personnalisable, sinon « false ».

bool QQmlProperty::isProperty() const

Renvoie « true » si cet objet ` QQmlProperty ` correspond à une propriété Qt standard.

bool QQmlProperty::isResettable() const

Renvoie « true » si la propriété est réinitialisable, sinon « false ».

bool QQmlProperty::isSignalProperty() const

Renvoie « true » si cet « QQmlProperty » représente une propriété de signal QML.

bool QQmlProperty::isValid() const

Renvoie « true » si l'QQmlProperty e fait référence à une propriété valide, sinon « false ».

bool QQmlProperty::isWritable() const

Renvoie « true » si la propriété est accessible en écriture, sinon « false ».

QMetaMethod QQmlProperty::method() const

Renvoie l'objet ` QMetaMethod ` correspondant à cette propriété s'il s'agit d'un ` SignalProperty` ; sinon, renvoie un ` QMetaMethod` non valide.

QString QQmlProperty::name() const

Renvoie le nom de cette propriété QML.

Remarque : fonctionde récupération pour la propriété « name ».

bool QQmlProperty::needsNotifySignal() const

Renvoie « true » si la propriété nécessite un signal de notification de modification pour que les liaisons restent à jour, « false » dans le cas contraire.

Certaines propriétés, telles que les propriétés associées ou celles dont la valeur ne change jamais, ne nécessitent pas de notificateur de modification.

QObject *QQmlProperty::object() const

QQmlPropertyRenvoie l'QObject's .

Remarque : fonctiongetter pour l'objet de propriété.

QMetaProperty QQmlProperty::property() const

Renvoie l'Qt property e associé à cette propriété QML.

QMetaType QQmlProperty::propertyMetaType() const

Renvoie le métatype de la propriété.

Voir également propertyType.

int QQmlProperty::propertyType() const

Renvoie l'identifiant du métatype de la propriété, ou « QMetaType::UnknownType » si la propriété n'a pas de métatype.

Voir également propertyMetaType.

QQmlProperty::PropertyTypeCategory QQmlProperty::propertyTypeCategory() const

Renvoie la catégorie de la propriété.

const char *QQmlProperty::propertyTypeName() const

Renvoie le nom du type de la propriété, ou 0 si celle-ci n'a pas de nom de type.

QVariant QQmlProperty::read() const

Renvoie la valeur de la propriété.

[static] QVariant QQmlProperty::read(const QObject *object, const QString &name)

Renvoie la valeur de la propriété « name » de ` object`. Cette méthode équivaut à :

QQmlProperty p(object, name);
p.read();

[static] QVariant QQmlProperty::read(const QObject *object, const QString &name, QQmlContext *ctxt)

Renvoie la valeur de la propriété « name » de l'objet « object » à l'aide de la méthode « context » ctxt. Cette méthode équivaut à :

QQmlProperty p(object, name, context);
p.read();

[static] QVariant QQmlProperty::read(const QObject *object, const QString &name, QQmlEngine *engine)

Renvoie la valeur de la propriété « name » de object en utilisant l'environnement d'instanciation des composants QML fourni par engine. . Cette méthode équivaut à :

QQmlProperty p(object, name, engine);
p.read();

bool QQmlProperty::reset() const

Réinitialise la propriété et renvoie « true » si celle-ci peut être réinitialisée. Si la propriété ne peut pas être réinitialisée, rien ne se passe et la valeur « false » est renvoyée.

QQmlProperty::Type QQmlProperty::type() const

Renvoie le type de la propriété.

bool QQmlProperty::write(const QVariant &value) const

Définit la valeur de la propriété sur « value ». Renvoie « true » en cas de réussite, ou « false » si la propriété ne peut pas être définie, par exemple parce que le type de l'value e n'est pas correct.

[static] bool QQmlProperty::write(QObject *object, const QString &name, const QVariant &value)

Écrit la valeur « value » dans la propriété « name » de « object ». Cette méthode équivaut à :

QQmlProperty p(object, name);
p.write(value);

Renvoie true en cas de succès, false dans le cas contraire.

[static] bool QQmlProperty::write(QObject *object, const QString &name, const QVariant &value, QQmlContext *ctxt)

Écrit la valeur « value » dans la propriété « name » de « object » à l'aide de la méthode « context » ctxt. Cette méthode équivaut à :

QQmlProperty p(object, name, ctxt);
p.write(value);

Renvoie true en cas de réussite, false dans le cas contraire.

[static] bool QQmlProperty::write(QObject *object, const QString &name, const QVariant &value, QQmlEngine *engine)

Écrit « value » dans la propriété « name » de « object » en utilisant l'environnement d'instanciation des composants QML fourni par « engine ». Cette méthode équivaut à :

QQmlProperty p(object, name, engine);
p.write(value);

Renvoie true en cas de succès, false dans le cas contraire.

QQmlProperty &QQmlProperty::operator=(const QQmlProperty &other)

Attribuez l'other à cette QQmlProperty.

bool QQmlProperty::operator==(const QQmlProperty &other) const

Renvoie « true » si other et cette QQmlProperty correspondent à la même propriété.

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