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.