En esta página

QQmlProperty Class

La clase QQmlProperty abstrae el acceso a las propiedades de los objetos creados a partir de QML. Más...

Cabecera: #include <QQmlProperty>
CMake: find_package(Qt6 REQUIRED COMPONENTS Qml)
target_link_libraries(mytarget PRIVATE Qt6::Qml)
qmake: QT += qml

Tipos públicos

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

Propiedades

Funciones públicas

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

Miembros públicos estáticos

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)

Descripción detallada

Dado que QML utiliza el sistema de meta-tipos de Qt, todas las clases existentes en QMetaObject pueden utilizarse para introspeccionar e interactuar con los objetos creados por QML. Sin embargo, algunas de las nuevas características proporcionadas por QML - como la seguridad de tipos y las propiedades adjuntas - se utilizan más fácilmente a través de la clase QQmlProperty que simplifica parte de su complejidad natural.

A diferencia de QMetaProperty, que representa una propiedad sobre un tipo de clase, QQmlProperty encapsula una propiedad sobre una instancia específica de un objeto. Para leer el valor de una propiedad, los programadores crean una instancia de QQmlProperty y llaman al método read(). Del mismo modo, para escribir el valor de una propiedad se utiliza el método write().

Por ejemplo, para el siguiente código QML:

// MyItem.qml
import QtQuick 2.0

Text { text: "A bit of text" }

Se podría acceder a las propiedades del objeto Text utilizando QQmlProperty, de esta forma:

#include <QQmlProperty>#include <QGraphicsObject>...QQuickView ver(QUrl::fromLocalFile("MiItem.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();

Documentación del tipo de miembro

enum QQmlProperty::PropertyTypeCategory

Este enum especifica una categoría de propiedad QML.

ConstanteValorDescripción
QQmlProperty::InvalidCategory0La propiedad no es válida o es una propiedad de señal.
QQmlProperty::List1La propiedad es una propiedad de lista QQmlListProperty
QQmlProperty::Object2La propiedad es un puntero de tipo derivado QObject
QQmlProperty::Normal3La propiedad es una propiedad de valor normal.

enum QQmlProperty::Type

Este enum especifica un tipo de propiedad QML.

ConstanteValorDescripción
QQmlProperty::Invalid0La propiedad no es válida.
QQmlProperty::Property1La propiedad es una propiedad Qt normal.
QQmlProperty::SignalProperty2La propiedad es una propiedad de señal.

Documentación de la propiedad

[read-only] name : const QString

Esta propiedad contiene el nombre de la propiedad QML.

Funciones de acceso:

QString name() const

Véase también QQmlProperty::object.

[read-only] object : QObject* const

Esta propiedad contiene la dirección QObject representada por la propiedad QML.

Funciones de acceso:

QObject *object() const

Véase también QQmlProperty::name.

Documentación de funciones miembro

QQmlProperty::QQmlProperty()

Crear un QQmlProperty inválido.

QQmlProperty::QQmlProperty(QObject *obj)

Crea un QQmlProperty para la propiedad por defecto de obj. Si no hay propiedad por defecto, se creará un QQmlProperty inválido.

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

Crea un QQmlProperty para la propiedad por defecto de obj utilizando el context ctxt . Si no hay ninguna propiedad por defecto, se creará un QQmlProperty inválido.

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

Crea un QQmlProperty para la propiedad por defecto de obj utilizando el entorno para instanciar componentes QML que proporciona engine. Si no existe una propiedad por defecto, se creará un QQmlProperty inválido.

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

Crea un QQmlProperty para la propiedad name de obj.

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

Crea un QQmlProperty para la propiedad name de obj utilizando el context ctxt .

Crear un QQmlProperty sin un contexto hará que algunas propiedades - como las propiedades adjuntas - sean inaccesibles.

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

Crea un QQmlProperty para la propiedad name de obj utilizando el entorno para instanciar componentes QML que proporciona engine.

QQmlProperty::QQmlProperty(const QQmlProperty &other)

Cree una copia de other.

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

Conecta la señal del notificador de cambios de la propiedad al slot especificado del objeto dest y devuelve true. Devuelve false si esta metapropiedad no representa una propiedad Qt normal o si no tiene señal de notificador de cambios, o si el objeto dest no tiene el slot especificado.

Nota: slot debe pasarse utilizando la macro SLOT() para que se identifique correctamente.

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

Conecta la señal del notificador de cambios de la propiedad al method especificado del objeto dest y devuelve true. Devuelve false si esta metapropiedad no representa una propiedad Qt normal o si no tiene señal de notificador de cambios, o si el objeto dest no tiene el method especificado.

bool QQmlProperty::hasNotifySignal() const

Devuelve true si la propiedad tiene una señal de notificación de cambio, en caso contrario false.

int QQmlProperty::index() const

Devuelve el índice del metaobjeto Qt de la propiedad.

bool QQmlProperty::isDesignable() const

Devuelve true si la propiedad es designable, en caso contrario false.

bool QQmlProperty::isProperty() const

Devuelve true si este QQmlProperty representa una propiedad Qt normal.

bool QQmlProperty::isResettable() const

Devuelve true si la propiedad es reajustable, en caso contrario false.

bool QQmlProperty::isSignalProperty() const

Devuelve true si este QQmlProperty representa una propiedad de señal QML.

bool QQmlProperty::isValid() const

Devuelve true si QQmlProperty se refiere a una propiedad válida, en caso contrario false.

bool QQmlProperty::isWritable() const

Devuelve true si la propiedad es escribible, en caso contrario false.

QMetaMethod QQmlProperty::method() const

Devuelve el QMetaMethod para esta propiedad si es un SignalProperty, de lo contrario devuelve un QMetaMethod inválido.

QString QQmlProperty::name() const

Devuelve el nombre de esta propiedad QML.

Nota: Función Getter para el nombre de la propiedad.

bool QQmlProperty::needsNotifySignal() const

Devuelve true si la propiedad necesita una señal de notificación de cambio para que los enlaces se mantengan actualizados, false en caso contrario.

Algunas propiedades, como las propiedades adjuntas o aquellas cuyo valor nunca cambia, no necesitan un notificador de cambios.

QObject *QQmlProperty::object() const

Devuelve el QQmlProperty's QObject.

Nota: Función Getter para objeto de propiedad.

QMetaProperty QQmlProperty::property() const

Devuelve el Qt property asociado a esta propiedad QML.

QMetaType QQmlProperty::propertyMetaType() const

Devuelve el metatotipo de la propiedad.

Véase también propertyType.

int QQmlProperty::propertyType() const

Devuelve el id del metateipo de la propiedad, o QMetaType::UnknownType si la propiedad no tiene metateipo.

Véase también propertyMetaType.

QQmlProperty::PropertyTypeCategory QQmlProperty::propertyTypeCategory() const

Devuelve la categoría de la propiedad.

const char *QQmlProperty::propertyTypeName() const

Devuelve el nombre de tipo de la propiedad, o 0 si la propiedad no tiene nombre de tipo.

QVariant QQmlProperty::read() const

Devuelve el valor de la propiedad.

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

Devuelve el valor de la propiedad name de object. Este método es equivalente a:

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

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

Devuelve el valor de la propiedad name de object utilizando la context ctxt . Este método es equivalente a:

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

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

Devuelve el valor de la propiedad name de object utilizando el entorno para instanciar componentes QML que proporciona engine. Este método es equivalente a:

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

bool QQmlProperty::reset() const

Reinicia la propiedad y devuelve true si la propiedad es reiniciable. Si la propiedad no se puede restablecer, no ocurre nada y se devuelve false.

QQmlProperty::Type QQmlProperty::type() const

Devuelve el tipo de la propiedad.

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

Establece el valor de la propiedad en value. Devuelve true en caso de éxito, o false si la propiedad no se puede establecer porque el value es del tipo incorrecto, por ejemplo.

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

Escribe value en la propiedad name de object. Este método es equivalente a:

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

Devuelve true en caso de éxito, false en caso contrario.

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

Escribe value en la propiedad name de object utilizando la context ctxt . Este método es equivalente a:

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

Devuelve true en caso de éxito, false en caso contrario.

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

Escribe value en la propiedad name de object utilizando el entorno para instanciar componentes QML que proporciona engine. Este método es equivalente a:

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

Devuelve true en caso de éxito, false en caso contrario.

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

Asigne other a este QQmlProperty.

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

Devuelve true si other y este QQmlProperty representan la misma propiedad.

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