QFormBuilder Class

QFormBuilder 类用于在运行时从用户界面文件动态构造用户界面。更多

头文件: #include <QFormBuilder>
CMake.QFormBuilder find_package(Qt6 REQUIRED COMPONENTS Designer)
target_link_libraries(mytarget PRIVATE Qt6::Designer)
qmake: QT += designer
继承: QAbstractFormBuilder

公共函数

QFormBuilder()
virtual ~QFormBuilder() override
void addPluginPath(const QString &pluginPath)
void clearPluginPaths()
QList<QDesignerCustomWidgetInterface *> customWidgets() const
QStringList pluginPaths() const
void setPluginPath(const QStringList &pluginPaths)

详细说明

QFormBuilder 类提供了一种在运行时基于Qt Widgets Designer 创建的 UI 文件动态创建用户界面的机制。例如

        MyForm::MyForm(QWidget *parent)
            : QWidget(parent)
        {
            QFormBuilder builder;
            QFile file(":/forms/myWidget.ui");
            file.open(QFile::ReadOnly);
            QWidget *myWidget = builder.load(&file, this);
            file.close();

            auto *layout = new QVBoxLayout(this);
            layout->addWidget(myWidget);
        }

通过将用户界面包含在示例的资源中 (myForm.qrc),我们可以确保在运行示例时用户界面将会出现:

    <!DOCTYPE RCC><RCC version="1.0">
    <qresource prefix="/forms">
       <file>mywidget.ui</file>
    </qresource>
    </RCC>

QFormBuilder 扩展了QAbstractFormBuilder 基类,并增加了许多用于支持自定义 widget 插件的函数:

  • pluginPaths() 返回表单生成器在加载自定义 widget 插件时搜索的路径列表。
  • addPluginPath() 允许向表单生成器注册其他路径。
  • setPluginPath() 用于将现有路径列表替换为从其他来源获取的列表。
  • clearPluginPaths() 会删除所有在表单生成器中注册的路径。
  • customWidgets() 返回一个插件接口列表,该插件可用于创建已注册自定义窗口小部件的新实例。

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

另请参见 QAbstractFormBuilderQt UI Tools.

成员函数文档

QFormBuilder::QFormBuilder()

构造一个新的表单生成器。

[override virtual noexcept] QFormBuilder::~QFormBuilder()

销毁表单生成器。

void QFormBuilder::addPluginPath(const QString &pluginPath)

pluginPath 指定的新插件路径添加到表单生成器加载自定义 widget 插件时搜索的路径列表中。

另请参阅 setPluginPath() 和clearPluginPaths()。

void QFormBuilder::clearPluginPaths()

清除表单生成器用于搜索自定义 widget 插件的路径列表。

另请参见 pluginPaths()。

QList<QDesignerCustomWidgetInterface *> QFormBuilder::customWidgets() const

返回可用插件列表。

QStringList QFormBuilder::pluginPaths() const

返回表单生成器搜索插件的路径列表。

另请参见 addPluginPath()。

void QFormBuilder::setPluginPath(const QStringList &pluginPaths)

将插件路径列表设置为pluginPaths 指定的列表。

另请参阅 addPluginPath() 。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.