PySide6.QtDesigner.QAbstractFormBuilder

class QAbstractFormBuilder

QAbstractFormBuilder 类为在运行时创建用户界面的类提供了默认实现。更多

继承者: QFormBuilder

概要

方法

虚拟方法

静态函数

注意

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

详细描述

警告

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

QAbstractFormBuilder 提供了一个标准接口和默认实现,用于从用户界面文件构建表单。它不打算直接实例化。使用 QFormBuilder 类在运行时从 UI 文件创建用户界面。例如:

    MyForm::MyForm(QWidget parent)
super().__init__(parent)

        builder = QFormBuilder()
        file = QFile(":/forms/myWidget.ui")
        file.open(QFile.ReadOnly)
        myWidget = builder.load(file, self)
        file.close()
        layout = QVBoxLayout(self)
        layout.addWidget(myWidget)

要覆盖表单构建器行为的某些方面,请子类化 QAbstractFormBuilder 并重新实现相关的虚函数:

  • load() 处理从任意 QIODevices 读取 UI 格式文件,并从它们包含的 XML 数据中构建小部件。

  • save() 处理将小部件详细信息以UI格式保存到任意QIODevices。

  • workingDirectory()setWorkingDirectory() 控制表单所在的目录。表单构建器会在此目录的相对路径上查找其他资源。

QFormBuilder 类通常由嵌入 Qt Widgets Designer 的自定义组件和应用程序使用。需要在运行时动态生成用户界面的独立应用程序使用 QUiLoader,该工具位于 Qt UI Tools 模块中。

另请参阅

Qt UI 工具

__init__()

构建一个新的表单构建器。

addMenuAction(action)
Parameters:

动作QAction

applyPropertyInternally(o, propertyName, value)
Parameters:
  • oQObject

  • propertyName – str

  • value – 对象

Return type:

布尔

checkProperty(obj, prop)
Parameters:
  • objQObject

  • prop – 字符串

Return type:

布尔

createAction(parent, name)
Parameters:
Return type:

QAction

createActionGroup(parent, name)
Parameters:
Return type:

QActionGroup

createLayout(layoutName, parent, name)
Parameters:
  • layoutName – str

  • parentQObject

  • name – str

Return type:

QLayout

createWidget(widgetName, parentWidget, name)
Parameters:
  • widgetName – str

  • parentWidgetQWidget

  • name – str

Return type:

QWidget

errorString()
Return type:

字符串

返回load()中发生的最后一个错误的人类可读描述。

另请参阅

load()

load(dev[, parentWidget=None])
Parameters:
Return type:

QWidget

从给定的device加载小部件的XML表示,并使用指定的parent构造一个新的小部件。

另请参阅

save() errorString()

reset()
save(dev, widget)
Parameters:

将给定的widget的XML表示保存到指定的device中,使用标准的UI文件格式。

注意

与在Qt Widgets Designer中保存表单时不同,所有属性值都会被写入。这是因为,属性值是否被修改的状态并未存储在Qt属性系统中。正在保存的小部件可能是动态创建的,而不是通过load()加载的,因此在这种情况下,表单构建器并不知道已更改属性的列表。此外,对于动态创建的小部件,没有通用的方法来实现这一点。

因此,在加载之前,您应该从生成的XML文件中删除不需要的属性。或者,如果您在调用此方法时已经知道要保存哪些属性,您可以重载computeProperties()并返回所需属性的过滤列表。否则,可能会出现意外行为,因为其中一些属性可能相互依赖。

另请参阅

load()

setWorkingDirectory(directory)
Parameters:

目录QDir

将表单构建器的当前工作目录设置为指定的 directory

另请参阅

workingDirectory()

static toolBarAreaMetaEnum()
Return type:

QMetaEnum

workingDirectory()
Return type:

QDir

返回表单构建器的当前工作目录。

另请参阅

setWorkingDirectory()