PySide6.QtDesigner.QAbstractFormBuilder¶
- class QAbstractFormBuilder¶
QAbstractFormBuilder类为在运行时创建用户界面的类提供了默认实现。更多…继承者:
QFormBuilder概要¶
方法¶
def
__init__()def
errorString()def
reset()
虚拟方法¶
def
addMenuAction()def
checkProperty()def
createAction()def
createLayout()def
createWidget()def
load()def
save()
静态函数¶
注意
本文档可能包含从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__()¶
构建一个新的表单构建器。
- applyPropertyInternally(o, propertyName, value)¶
- Parameters:
o –
QObjectpropertyName – str
value – 对象
- Return type:
布尔
- createLayout(layoutName, parent, name)¶
- createWidget(widgetName, parentWidget, name)¶
- errorString()¶
- Return type:
字符串
返回
load()中发生的最后一个错误的人类可读描述。另请参阅
- load(dev[, parentWidget=None])¶
从给定的
device加载小部件的XML表示,并使用指定的parent构造一个新的小部件。另请参阅
- reset()¶
将给定的
widget的XML表示保存到指定的device中,使用标准的UI文件格式。注意
与在Qt Widgets Designer中保存表单时不同,所有属性值都会被写入。这是因为,属性值是否被修改的状态并未存储在Qt属性系统中。正在保存的小部件可能是动态创建的,而不是通过
load()加载的,因此在这种情况下,表单构建器并不知道已更改属性的列表。此外,对于动态创建的小部件,没有通用的方法来实现这一点。因此,在加载之前,您应该从生成的XML文件中删除不需要的属性。或者,如果您在调用此方法时已经知道要保存哪些属性,您可以重载
computeProperties()并返回所需属性的过滤列表。否则,可能会出现意外行为,因为其中一些属性可能相互依赖。另请参阅
将表单构建器的当前工作目录设置为指定的
directory。另请参阅
返回表单构建器的当前工作目录。