PySide6.QtDesigner.QDesignerPropertyEditorInterface

class QDesignerPropertyEditorInterface

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

PySide6.QtDesigner.QDesignerPropertyEditorInterface 的继承图

概要

方法

虚拟方法

信号

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

QDesignerPropertyEditorInterface 包含一组函数,通常用于查询属性编辑器的当前状态,以及几个操作其状态的槽。该接口还提供了一个信号,propertyChanged(),每当属性编辑器中的属性发生变化时,该信号就会发出。信号的参数是发生变化的属性及其新值。

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

propertyEditor = formEditor.propertyEditor()
propertyEditor.propertyChanged.connect(
        self.checkProperty)

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

def checkProperty(property, value):

    propertyEditor = formEditor.propertyEditor()
    object = propertyeditor.object()
    widget = MyCustomWidget(object)
    if widget and property == aProperty and value != expectedValue:
        {...}

QDesignerPropertyEditorInterface 类不打算直接实例化。您可以使用 propertyEditor() 函数获取 Qt Widgets Designer 属性编辑器的接口。initialize() 函数的参数提供了指向 Qt Widgets Designer 当前 QDesignerFormEditorInterface 对象的指针(在上面的示例中为 formEditor)。在实现自定义小部件插件时,您必须子类化 QDesignerCustomWidgetInterface 以将您的插件暴露给 Qt Widgets Designer。

访问属性编辑器的函数包括core()函数,您可以使用它来检索表单编辑器的接口,currentPropertyName()函数返回属性编辑器中当前选定属性的名称,object()函数返回Qt Widgets Designer工作区中当前选定的对象,以及isReadOnly()函数,如果属性编辑器是写保护的,则返回true(否则返回false)。

操作属性编辑器状态的槽包括setObject()槽,您可以使用它来更改Qt Widgets Designer工作区中当前选定的对象,setPropertyValue()槽用于更改给定属性的值,以及setReadOnly()槽用于控制属性编辑器的写保护。

__init__(parent[, flags={}])
Parameters:

使用给定的parent和指定的窗口flags构建属性编辑器界面。

core()
Return type:

QDesignerFormEditorInterface

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

abstract currentPropertyName()
Return type:

字符串

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

另请参阅

setPropertyValue()

abstract isReadOnly()
Return type:

布尔

如果属性编辑器是写保护的,则返回 true;否则返回 false。

另请参阅

setReadOnly()

abstract object()
Return type:

QObject

返回Qt Widgets Designer工作区中当前选中的对象。

另请参阅

setObject()

propertyChanged(name, value)
Parameters:
  • name – str

  • value – 对象

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

另请参阅

setPropertyValue()

abstract setObject(object)
Parameters:

对象QObject

将Qt Widgets Designer工作区中当前选定的对象更改为object

另请参阅

object()

abstract setPropertyValue(name, value[, changed=true])
Parameters:
  • name – str

  • value – 对象

  • changed – bool

name指定的属性值设置为value

此外,该属性在属性编辑器中标记为changed,即其值与默认值不同。

abstract setReadOnly(readOnly)
Parameters:

readOnly – 布尔值

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

另请参阅

isReadOnly()