En esta página

QDesignerPropertyEditorInterface Class

La clase QDesignerPropertyEditorInterface permite consultar y manipular el estado actual del editor de propiedades de Qt Widgets Designer. Más...

Cabecera: #include <QDesignerPropertyEditorInterface>
CMake: find_package(Qt6 REQUIRED COMPONENTS Designer)
target_link_libraries(mytarget PRIVATE Qt6::Designer)
qmake: QT += designer
Hereda: QWidget

Funciones Públicas

QDesignerPropertyEditorInterface(QWidget *parent, Qt::WindowFlags flags = {})
virtual ~QDesignerPropertyEditorInterface() override
virtual QDesignerFormEditorInterface *core() const
virtual QString currentPropertyName() const = 0
virtual bool isReadOnly() const = 0
virtual QObject *object() const = 0

Ranuras Públicas

virtual void setObject(QObject *object) = 0
virtual void setPropertyValue(const QString &name, const QVariant &value, bool changed = true) = 0
virtual void setReadOnly(bool readOnly) = 0

Señales

void propertyChanged(const QString &name, const QVariant &value)

Descripción Detallada

QDesignerPropertyEditorInterface contiene una colección de funciones que se utilizan normalmente para consultar el estado actual del editor de propiedades, y varias ranuras que manipulan su estado. La interfaz también proporciona una señal, propertyChanged(), que se emite cada vez que cambia una propiedad en el editor de propiedades. Los argumentos de la señal son la propiedad que ha cambiado y su nuevo valor.

Por ejemplo, al implementar un complemento de widget personalizado, puedes conectar la señal a una ranura personalizada:

        auto *propertyEditor = formEditor->propertyEditor();

        connect(propertyEditor, &QDesignerPropertyEditorInterface::propertyChanged,
                this, &MyClass::checkProperty);

Entonces el slot personalizado puede comprobar si el nuevo valor está dentro del rango que queremos cuando una propiedad especificada, perteneciente a un widget en particular, cambia:

        void checkProperty(const QString &property, const QVariant &value)
        {
            auto *propertyEditor = formEditor->propertyEditor();

            auto *object = propertyeditor->object();
            auto *widget = qobject_cast<MyCustomWidget *>(object);

            if (widget && property == aProperty && value != expectedValue)
                {...}
        }

La clase QDesignerPropertyEditorInterface no está pensada para ser instanciada directamente. Puedes recuperar una interfaz al editor de propiedades de Qt Widgets Designer utilizando la función QDesignerFormEditorInterface::propertyEditor(). El parámetro de la función QDesignerCustomWidgetInterface::initialize() proporciona un puntero al objeto QDesignerFormEditorInterface actual de Qt Widgets Designer (formEditor en los ejemplos anteriores). Cuando implemente un plugin de widget personalizado, debe subclasificar QDesignerCustomWidgetInterface para exponer su plugin a Qt Widgets Designer.

Las funciones que acceden al editor de propiedades son la función core() que puede utilizar para recuperar una interfaz para el editor de formularios, la función currentPropertyName() que devuelve el nombre de la propiedad actualmente seleccionada en el editor de propiedades, la función object() que devuelve el objeto actualmente seleccionado en el espacio de trabajo de Qt Widgets Designer, y la función isReadOnly() que devuelve true si el editor de propiedades está protegido contra escritura (en caso contrario false).

Las ranuras que manipulan el estado del editor de propiedades son la ranura setObject() que puede utilizar para cambiar el objeto seleccionado actualmente en el espacio de trabajo de Qt Widgets Designer, la ranura setPropertyValue() que cambia el valor de una propiedad determinada y la ranura setReadOnly() que controla la protección contra escritura del editor de propiedades.

Véase también QDesignerFormEditorInterface.

Documentación de funciones miembro

[explicit] QDesignerPropertyEditorInterface::QDesignerPropertyEditorInterface(QWidget *parent, Qt::WindowFlags flags = {})

Construye una interfaz de editor de propiedades con el parent dado y la ventana especificada flags.

[override virtual noexcept] QDesignerPropertyEditorInterface::~QDesignerPropertyEditorInterface()

Destruye la interfaz del editor de propiedades.

[virtual] QDesignerFormEditorInterface *QDesignerPropertyEditorInterface::core() const

Devuelve un puntero al objeto QDesignerFormEditorInterface actual de Qt Widgets Designer.

[pure virtual] QString QDesignerPropertyEditorInterface::currentPropertyName() const

Devuelve el nombre de la propiedad actualmente seleccionada en el editor de propiedades.

Véase también setPropertyValue().

[pure virtual] bool QDesignerPropertyEditorInterface::isReadOnly() const

Devuelve true si el editor de propiedades está protegido contra escritura; en caso contrario false.

Véase también setReadOnly().

[pure virtual] QObject *QDesignerPropertyEditorInterface::object() const

Devuelve el objeto seleccionado actualmente en el espacio de trabajo de Qt Widgets Designer.

Véase también setObject().

[signal] void QDesignerPropertyEditorInterface::propertyChanged(const QString &name, const QVariant &value)

Esta señal se emite cada vez que una propiedad cambia en el editor de propiedades. La propiedad que ha cambiado y su nuevo valor se especifican en name y value respectivamente.

Véase también setPropertyValue().

[pure virtual slot] void QDesignerPropertyEditorInterface::setObject(QObject *object)

Cambia el objeto actualmente seleccionado en el espacio de trabajo de Qt Widgets Designer, a object.

Véase también object().

[pure virtual slot] void QDesignerPropertyEditorInterface::setPropertyValue(const QString &name, const QVariant &value, bool changed = true)

Establece el valor de la propiedad especificada por name en value.

Además, la propiedad se marca como changed en el editor de propiedades, es decir, su valor es diferente del valor por defecto.

Véase también currentPropertyName() y propertyChanged().

[pure virtual slot] void QDesignerPropertyEditorInterface::setReadOnly(bool readOnly)

Si readOnly es verdadero, el editor de propiedades pasa a estar protegido contra escritura; en caso contrario, se elimina la protección contra escritura.

Véase también isReadOnly().

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