QDesignerPropertyEditorInterface 类

QDesignerPropertyEditorInterface 类允许你查询和操作 Qt Designer 属性编辑器的当前状态。 更多...

头文件 #include <QDesignerPropertyEditorInterface>
CMakefind_package(Qt6 REQUIRED COMPONENTS Designer)
target_link_libraries(mytarget PRIVATE Qt6::Designer)
qmakeQT += designer
继承 QWidget

公共函数

QDesignerPropertyEditorInterface(QWidget *parent, Qt::WindowFlags flags = {})
虚拟~QDesignerPropertyEditorInterface()
虚拟 QDesignerFormEditorInterface *core() const
虚拟 QStringcurrentPropertyName() const = 0
虚拟 boolisReadOnly() const = 0
虚拟 QObject *object() const = 0

公共槽

虚拟 voidsetObject(QObject *object) = 0
虚拟 voidsetPropertyValue(const QString &name, const QVariant &value, bool changed = true) = 0
虚拟 voidsetReadOnly(bool readOnly) = 0

信号

voidpropertyChanged(const QString &name, const QVariant &value)

详细描述

QDesignerPropertyEditorInterface 包含一系列用于查询属性编辑器当前状态并操作其状态的函数。接口还提供了一个信号,propertyChanged(),每当属性编辑器中的属性更改时,都会发出该信号。信号的参数是更改的属性及其新值。

例如,在实现自定义小部件插件时,你可以将信号连接到自定义槽

        auto *propertyEditor = formEditor->propertyEditor();

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

然后,当特定小部件的指定属性更改时,自定义槽可以检查新值是否在我们想要的范围内

        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)
                {...}
        }

QDesignerPropertyEditorInterface 类不打算被直接实例化。你可以使用 QDesignerFormEditorInterface::propertyEditor() 函数检索到 Qt Designer 属性编辑器的接口。当前 Qt DesignerQDesignerFormEditorInterface 对象的指针通过 QDesignerCustomWidgetInterface::initialize() 函数的参数提供。在实现自定义小部件插件时,你必须扩展 QDesignerCustomWidgetInterface 以将你的插件公开于 Qt Designer

访问属性编辑器的功能包括core() 函数,该函数可以用来获取表单编辑器的接口,currentPropertyName() 函数返回属性编辑器中当前所选属性的名称,object() 函数返回在Qt Designer的工作空间中当前所选的对象,以及返回property editor如果设置为写入保护(否则为false)的isReadOnly() 函数。

管理属性编辑器状态的槽包括setObject() 槽,该槽用于在Qt Designer的工作空间中更改当前所选对象,setPropertyValue() 槽用于更改给定属性的值,以及控制属性编辑器写入保护的setReadOnly() 槽。

另请参阅 QDesignerFormEditorInterface.

成员函数文档

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

使用给定的父级和指定的窗口标志构建属性编辑器接口。

[虚拟 noexcept] QDesignerPropertyEditorInterface::~QDesignerPropertyEditorInterface()

销毁属性编辑器接口。

[虚拟] QDesignerFormEditorInterface *QDesignerPropertyEditorInterface::core() const

返回Qt Designer当前QDesignerFormEditorInterface对象的指针。

[纯虚] QString QDesignerPropertyEditorInterface::currentPropertyName() const

返回属性编辑器中当前所选属性的名称。

另请参阅 setPropertyValue().

[纯虚] bool QDesignerPropertyEditorInterface::isReadOnly() const

如果属性编辑器被设置为写入保护则返回true;否则返回false。

另请参阅 setReadOnly().

[纯虚] QObject *QDesignerPropertyEditorInterface::object() const

返回在Qt Designer工作空间中当前所选的对象。

另请参阅 setObject().

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

当属性编辑器中的属性发生变化时,会发出此信号。已更改的属性及其新值分别由namevalue指定。

另请参阅 setPropertyValue().

[纯虚槽] void QDesignerPropertyEditorInterface::setObject(QObject *object)

将Qt Designer的工作空间中当前选定的对象更改为对象

另请参阅 对象

[纯虚函数槽] void QDesignerPropertyEditorInterface::setPropertyValue(const QString &name, const QVariant &value, bool changed = true)

将指定名称的属性的值设置为value

此外,属性编辑器中标记了更改,即其值与默认值不同。

另请参阅 currentPropertyName() 和 propertyChanged

[纯虚函数槽] void QDesignerPropertyEditorInterface::setReadOnly(bool readOnly)

如果readOnly为true,则属性编辑器设置为只读保护;否则,移除写保护。

另请参阅 isReadOnly

© 2024 Qt公司有限公司。此处包含的文档贡献属于各自所有者的版权。本处的文档是根据免费软件基金会发布的GNU自由文档许可证版本1.3的条款提供的。Qt及其相关标志是芬兰以及/或全球其他国家的Qt公司注册的商标。所有其他商标为其各自所有者的财产。