En esta página

QMetaProperty Class

La clase QMetaProperty proporciona metadatos sobre una propiedad. Más...

Cabecera: #include <QMetaProperty>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Funciones públicas

(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

Descripción detallada

Los meta-datos de las propiedades se obtienen del meta-objeto de un objeto. Véase QMetaObject::property() y QMetaObject::propertyCount() para más detalles.

Metadatos de propiedad

Una propiedad tiene un name() y un metaType(), así como varios atributos que especifican su comportamiento: isReadable(), isWritable(), isDesignable(), isScriptable(), revision(), y isStored().

Si la propiedad es una enumeración, isEnumType() devuelve true; si la propiedad es una enumeración que también es una bandera (es decir, sus valores pueden combinarse utilizando el operador OR), isEnumType() y isFlagType() devuelven ambos verdadero. El enumerador para estos tipos está disponible en enumerator().

Los valores de la propiedad se establecen y recuperan con read(), write() y reset(); también pueden modificarse mediante las funciones set y get de QObject. Para más detalles, consulte QObject::setProperty() y QObject::property().

Copia y asignación

Los objetos QMetaProperty pueden copiarse por valor. Sin embargo, cada copia hará referencia a los mismos metadatos de propiedad subyacentes.

Ver también QMetaObject, QMetaEnum, QMetaMethod, y Sistema de Propiedades de Qt.

Documentación de las funciones miembro

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

Devuelve la interfaz vinculable para la propiedad en un object dado.

Si la propiedad no admite enlaces, la interfaz devuelta no será válida.

Esta función se introdujo en Qt 6.0.

Véase también QObjectBindableProperty, QProperty, y isBindable().

QMetaEnum QMetaProperty::enumerator() const

Devuelve el enumerador si el tipo de esta propiedad es un tipo enumerador; en caso contrario, el valor devuelto es indefinido.

Véase también isEnumType() y isFlagType().

bool QMetaProperty::hasNotifySignal() const

Devuelve true si esta propiedad tiene una señal de notificación de cambio correspondiente; en caso contrario devuelve false.

Véase también notifySignal().

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

Devuelve true si Q_PROPERTY() expone funcionalidad de vinculación; en caso contrario devuelve false.

Esto implica que puedes crear enlaces que utilicen esta propiedad como dependencia o instalar objetos QPropertyObserver en esta propiedad. A menos que la propiedad sea readonly, también puede establecer un binding sobre esta propiedad.

Esta función se introdujo en Qt 6.0.

Véase también QProperty, isWritable(), y bindable().

bool QMetaProperty::isConstant() const

Devuelve true si la propiedad es constante; en caso contrario devuelve false.

Una propiedad es constante si el atributo Q_PROPERTY()'s CONSTANT está establecido.

bool QMetaProperty::isDesignable() const

Devuelve false si el atributo DESIGNABLE de Q_PROPERTY() es falso; en caso contrario devuelve true.

Véase también isScriptable() y isStored().

bool QMetaProperty::isEnumType() const

Devuelve true si el tipo de la propiedad es un valor de enumeración; en caso contrario devuelve false.

Véase también enumerator() y isFlagType().

bool QMetaProperty::isFinal() const

Devuelve true si la propiedad es final; en caso contrario devuelve false.

Una propiedad es final si el atributo Q_PROPERTY()'s FINAL está establecido.

bool QMetaProperty::isFlagType() const

Devuelve true si el tipo de la propiedad es un valor de enumeración que se utiliza como bandera; en caso contrario devuelve false.

Los indicadores pueden combinarse utilizando el operador OR. Un tipo flag es implícitamente también un tipo enum.

Véase también isEnumType(), enumerator() y QMetaEnum::isFlag().

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

Devuelve true si la propiedad se anula; en caso contrario, devuelve false.

Una propiedad se anula si el atributo Q_PROPERTY()'s OVERRIDE está establecido.

Esta función se introdujo en Qt 6.11.

bool QMetaProperty::isReadable() const

Devuelve true si esta propiedad es legible; en caso contrario devuelve false.

Véase también isWritable(), read(), y isValid().

bool QMetaProperty::isRequired() const

Devuelve true si la propiedad es obligatoria; en caso contrario devuelve false.

Una propiedad es final si el atributo Q_PROPERTY()'s REQUIRED está establecido.

bool QMetaProperty::isResettable() const

Devuelve true si esta propiedad puede restablecerse a un valor predeterminado; en caso contrario, devuelve false.

Véase también reset().

bool QMetaProperty::isScriptable() const

Devuelve false si el atributo Q_PROPERTY()'s SCRIPTABLE es falso; en caso contrario devuelve true.

Véase también isDesignable() y isStored().

bool QMetaProperty::isStored() const

Devuelve true si la propiedad está almacenada; en caso contrario devuelve false.

La función devuelve false si el atributo Q_PROPERTY()'s STORED es falso; en caso contrario devuelve true.

Véase también isDesignable() y isScriptable().

bool QMetaProperty::isUser() const

Devuelve false si el atributo Q_PROPERTY()'s USER es falso. En caso contrario devuelve true, indicando que la propiedad está designada como la propiedad USER, es decir, la que el usuario puede editar o que es significativa de alguna otra forma.

Véase también QMetaObject::userProperty(), isDesignable() y isScriptable().

bool QMetaProperty::isValid() const

Devuelve true si esta propiedad es válida (legible); en caso contrario devuelve false.

Véase también isReadable().

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

Devuelve true si la propiedad es virtual; en caso contrario devuelve false.

Una propiedad es virtual si el atributo Q_PROPERTY()'s VIRTUAL está establecido.

Esta función se introdujo en Qt 6.11.

bool QMetaProperty::isWritable() const

Devuelve true si esta propiedad es escribible; en caso contrario devuelve false.

Véase también isReadable() y write().

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

Devuelve la propiedad QMetaType.

Esta función se introdujo en Qt 6.0.

Véase también QMetaType.

const char *QMetaProperty::name() const

Devuelve el nombre de esta propiedad.

Véase también type() y typeName().

QMetaMethod QMetaProperty::notifySignal() const

Devuelve la instancia QMetaMethod de la señal de notificación de cambio de propiedad si se especificó una, de lo contrario devuelve un QMetaMethod inválido.

Véase también hasNotifySignal().

int QMetaProperty::notifySignalIndex() const

Devuelve el índice de la señal de notificación de cambio de propiedad si se especificó una, en caso contrario devuelve -1.

Véase también hasNotifySignal().

int QMetaProperty::propertyIndex() const

Devuelve el índice de esta propiedad.

QVariant QMetaProperty::read(const QObject *object) const

Lee el valor de la propiedad de la dirección object. Devuelve el valor si pudo leerlo; en caso contrario devuelve una variante inválida.

Véase también write(), reset(), y isReadable().

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

Lee el valor de la propiedad de la dirección gadget. Devuelve el valor si ha podido leerlo; en caso contrario devuelve una variante inválida.

Esta función sólo debe utilizarse si se trata de una propiedad de un Q_GADGET

int QMetaProperty::relativePropertyIndex() const

Devuelve el índice relativo de esta propiedad dentro del metaobjeto que la contiene.

bool QMetaProperty::reset(QObject *object) const

Restablece la propiedad para el object dado con un método de restablecimiento. Devuelve true si el restablecimiento ha funcionado; en caso contrario, devuelve false.

Los métodos de restablecimiento son opcionales; sólo algunas propiedades los admiten.

Véase también read() y write().

bool QMetaProperty::resetOnGadget(void *gadget) const

Restablece la propiedad para el gadget dado con un método de restablecimiento. Devuelve true si el restablecimiento ha funcionado; en caso contrario, devuelve false.

Los métodos de restablecimiento son opcionales; sólo algunas propiedades los soportan.

Esta función sólo debe usarse si se trata de una propiedad de tipo Q_GADGET

int QMetaProperty::revision() const

Devuelve la revisión de la propiedad si se especificó una mediante Q_REVISION, en caso contrario devuelve 0. Desde Qt 6.0, los valores distintos de cero se codifican y pueden descodificarse mediante QTypeRevision::fromEncodedVersion().

[since 6.0] int QMetaProperty::typeId() const

Devuelve el tipo de almacenamiento de la propiedad. Es lo mismo que metaType().id().

Esta función se introdujo en Qt 6.0.

Véase también QMetaType, typeName(), y metaType().

const char *QMetaProperty::typeName() const

Devuelve el nombre del tipo de esta propiedad.

Véase también type() y name().

int QMetaProperty::userType() const

Devuelve el tipo de usuario de esta propiedad. El valor devuelto es uno de los valores registrados en QMetaType.

Esto es equivalente a metaType().id()

Véase también type(), QMetaType, typeName(), y metaType().

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

Escribe value como valor de la propiedad en la dirección object. Devuelve true si la escritura tuvo éxito; en caso contrario devuelve false.

Si value no es del mismo tipo que la propiedad, se intenta una conversión. Una QVariant() vacía es equivalente a una llamada a reset() si esta propiedad es reajustable, o establecer un objeto construido por defecto en caso contrario.

Nota: Esta función realiza internamente una copia de value. Es preferible utilizar la sobrecarga rvalue cuando sea posible.

Véase también read(), reset(), y isWritable().

[since 6.6] bool QMetaProperty::write(QObject *object, QVariant &&v) const

Esta es una función sobrecargada.

Esta función se introdujo en Qt 6.6.

bool QMetaProperty::writeOnGadget(void *gadget, const QVariant &value) const

Escribe value como valor de la propiedad en la dirección gadget. Devuelve true si la escritura tuvo éxito; en caso contrario devuelve false.

Esta función sólo debe utilizarse si se trata de una propiedad de tipo Q_GADGET

[since 6.6] bool QMetaProperty::writeOnGadget(void *gadget, QVariant &&value) const

Esta es una función sobrecargada.

Esta función se introdujo en 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.