本页内容

QFormBuilder Class

QFormBuilder 类用于在运行时根据 UI 文件动态构建用户界面。更多内容...

标题: #include <QFormBuilder>
CMake: 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 基类,并提供了若干用于支持自定义小部件插件的功能:

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

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

另请参阅 QAbstractFormBuilder 和 Qt UI Tools。

成员函数文档

QFormBuilder::QFormBuilder()

创建一个新的表单生成器。

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

销毁表单生成器。

void QFormBuilder::addPluginPath(const QString &pluginPath)

将由pluginPath 指定的新插件路径添加到表单构建器在加载自定义小部件插件时将搜索的路径列表中。

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

void QFormBuilder::clearPluginPaths()

清除表单构建器用于搜索自定义小部件插件的路径列表。

另请参阅 pluginPaths()。

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

返回一个包含可用插件的列表。

QStringList QFormBuilder::pluginPaths() const

返回表单构建器用于搜索插件的路径列表。

另请参阅 addPluginPath()。

void QFormBuilder::setPluginPath(const QStringList &pluginPaths)

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

另请参阅 addPluginPath()。

© 2026 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.