QDesignerPropertyEditorInterface 类
QDesignerPropertyEditorInterface 类允许你查询和操作 Qt Designer 属性编辑器的当前状态。 更多...
头文件 | #include <QDesignerPropertyEditorInterface> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Designer) target_link_libraries(mytarget PRIVATE Qt6::Designer) |
qmake | QT += designer |
继承 | QWidget |
公共函数
QDesignerPropertyEditorInterface(QWidget *parent, Qt::WindowFlags flags = {}) | |
虚拟 | ~QDesignerPropertyEditorInterface() |
虚拟 QDesignerFormEditorInterface * | core() const |
虚拟 QString | currentPropertyName() const = 0 |
虚拟 bool | isReadOnly() const = 0 |
虚拟 QObject * | object() const = 0 |
公共槽
虚拟 void | setObject(QObject *object) = 0 |
虚拟 void | setPropertyValue(const QString &name, const QVariant &value, bool changed = true) = 0 |
虚拟 void | setReadOnly(bool readOnly) = 0 |
信号
void | propertyChanged(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 Designer 的 QDesignerFormEditorInterface 对象的指针通过 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)
当属性编辑器中的属性发生变化时,会发出此信号。已更改的属性及其新值分别由name和value指定。
另请参阅 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公司注册的商标。所有其他商标为其各自所有者的财产。