Spec-Zone.ru › Qt

Класс QDesignerPropertyEditorInterface

Класс QDesignerPropertyEditorInterface позволяет получать доступ к текущему состоянию редактора свойств Qt Designer и управлять им. Подробнее...

Заголовок: #include <QDesignerPropertyEditorInterface>
CMake: find_package(Qt6 COMPONENTS Designer REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Designer)
qmake: QT += designer
Наследует: QWidget
  • Список всех членов, включая унаследованные

Открытые функции

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

Открытые слоты

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

Сигналы

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

Подробное описание

QDesignerPropertyEditorInterface содержит набор функций, используемых для запроса текущего состояния редактора свойств и управления им. Интерфейс также предоставляет сигнал propertyChanged(), который испускается всякий раз, когда свойство изменяется в редакторе свойств. Аргументами сигнала являются измененное свойство и его новое значение.

Например, при реализации плагина пользовательского виджета можно подключить сигнал к пользовательскому слоту:

        QDesignerPropertyEditorInterface *propertyEditor = 0;
        propertyEditor = formEditor->propertyEditor();

        connect(propertyEditor, SIGNAL(propertyChanged(QString,QVariant)),
                this, SLOT(checkProperty(QString,QVariant)));

Затем пользовательский слот может проверить, находится ли новое значение в нужном диапазоне, когда изменяется указанное свойство, принадлежащее конкретному виджету:

        void checkProperty(QString property, QVariant value) {
            QDesignerPropertyEditorInterface *propertyEditor = 0;
            propertyEditor = formEditor->propertyEditor();

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

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

Класс QDesignerPropertyEditorInterface не предназначен для непосредственного создания экземпляров. Интерфейс к редактору свойств Qt Designer можно получить с помощью функции QDesignerFormEditorInterface::propertyEditor(). Указатель на текущий объект QDesignerFormEditorInterface Qt Designer (formEditor в примерах выше) предоставляется в параметре функции QDesignerCustomWidgetInterface::initialize(). При реализации плагина пользовательского виджета необходимо создать подкласс QDesignerCustomWidgetInterface, чтобы экспонировать свой плагин в Qt Designer.

Функции для доступа к редактору свойств включают функцию core(), которая возвращает интерфейс редактора формы, функцию currentPropertyName(), которая возвращает имя текущего выбранного свойства в редакторе свойств, функцию object(), которая возвращает текущий выбранный объект в рабочей области Qt Designer, и функцию isReadOnly(), которая возвращает true, если редактор свойств защищен от записи (в противном случае false).

Слоты для управления состоянием редактора свойств включают слот setObject(), который используется для изменения текущего выбранного объекта в рабочей области Qt Designer, слот setPropertyValue(), который изменяет значение заданного свойства, и слот setReadOnly(), который управляет защитой от записи редактора свойств.

См. также QDesignerFormEditorInterface.

Документация по функциям-членам

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

Конструктор интерфейса редактора свойств с заданным parent и указанными флагами окна flags.

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

Этот сигнал испускается всякий раз, когда свойство изменяется в редакторе свойств. Свойство, которое изменилось, и его новое значение задаются соответственно параметрами name и value.

См. также setPropertyValue().

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

Изменяет текущий выбранный объект в рабочей области Qt Designer на object.

См. также object().

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

Устанавливает значение свойства, заданного параметром name, на value.

Кроме того, свойство помечается как измененное (changed) в редакторе свойств, т.е. его значение отличается от значения по умолчанию.

См. также currentPropertyName() и propertyChanged().

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

Если readOnly равно true, редактор свойств защищен от записи; в противном случае защита от записи снимается.

См. также isReadOnly().

[virtual] QDesignerPropertyEditorInterface::~QDesignerPropertyEditorInterface()

Удаляет интерфейс редактора свойств.

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

Возвращает указатель на текущий объект QDesignerFormEditorInterface Qt Designer.

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

Возвращает имя текущего выбранного свойства в редакторе свойств.

См. также setPropertyValue().

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

Возвращает true, если редактор свойств защищен от записи; в противном случае false.

См. также setReadOnly().

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

Возвращает текущий выбранный объект в рабочей области Qt Designer.

См. также setObject().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qdesignerpropertyeditorinterface.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API