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.
| Constante | Valeur | Description |
|---|---|---|
QQmlProperty::InvalidCategory | 0 | La propriété n'est pas valide ou il s'agit d'une propriété de signal. |
QQmlProperty::List | 1 | La propriété est une propriété de liste de type « QQmlListProperty ». |
QQmlProperty::Object | 2 | La propriété est un pointeur de type dérivé d'QObject |
QQmlProperty::Normal | 3 | La propriété est une propriété de valeur normale. |
enum QQmlProperty::Type
Cette énumération spécifie un type de propriété QML.
| Constante | Valeur | Description |
|---|---|---|
QQmlProperty::Invalid | 0 | La propriété n'est pas valide. |
QQmlProperty::Property | 1 | La propriété est une propriété Qt standard. |
QQmlProperty::SignalProperty | 2 | La 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.