- 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
。另请参阅
返回表单构建器的当前工作目录。