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