- class QAbstractFormBuilder#
- 该 - QAbstractFormBuilder类为创建运行时用户界面的类提供了一个默认实现。更多…- 继承自: - QFormBuilder- 摘要#- 方法#- def - __init__()
- def - errorString()
- 定义 - reset()
 - 虚方法#- 静态函数#- 注意 - 本文档可能包含来自 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 格式保存到任意的 QIO 设备中。
- workingDirectory()和- setWorkingDirectory()控制表单存放的目录。表单构建器会在这个目录的相对路径中查找其他资源。
 - QFormBuilder类通常由自定义组件和嵌入 Qt Designer 的应用程序使用。需要运行时动态生成用户界面的独立应用程序可以使用 Qt UI Tools 模块中的 QUiLoader。- 另请参阅 - Qt UI Tools- __init__()#
 - 构建一个新表单构建器。 - applyPropertyInternally(o, propertyName, value)#
- 参数
- o - - QObject
- propertyName - 字符串 
- value - 对象 
 
- 返回类型
- 布尔值 
 
 - createLayout(layoutName, parent, name)#
 - createWidget(widgetName, parentWidget, name)#
 - errorString()#
- 返回类型
- str 
 
 - 返回 - load()方法中发生的最后一个错误的易读描述。- 另请参阅 - 从给定的 - device加载小部件的XML表示,并使用指定的- parent构造一个新的小部件。- 另请参阅 - reset()#
 - 以标准的UI文件格式将指定小部件的XML表示保存到指定的 - device。- 注意 - 与在Qt Designer中保存表单不同,这里会写入所有属性值。这是因为,属性值是否被修改的状态并没有存储在Qt属性系统中。正在保存的小部件可能是在动态创建的,而不是通过 - load()加载的,所以在这种情况下,表单构建器不熟悉已更改属性列表。同样,对于动态创建的控件也没有通用的实现方式。- 因此,在加载之前,您应该从结果XML文件中删除不必要的属性。或者,如果您在调用此方法时已经知道要保存哪些属性,您可以重载 - computeProperties()并返回一个需要的属性过滤列表。否则,可能会出现意外的行为,因为这些属性可能相互依赖。- 另请参阅 - 将表单构建器的当前工作目录设置为指定的 - directory。- 另请参阅 - 返回表单构建器的当前工作目录。