En esta página

QFormBuilder Class

La clase QFormBuilder se utiliza para construir dinámicamente interfaces de usuario a partir de archivos UI en tiempo de ejecución. Más...

Cabecera: #include <QFormBuilder>
CMake: find_package(Qt6 REQUIRED COMPONENTS Designer)
target_link_libraries(mytarget PRIVATE Qt6::Designer)
qmake: QT += designer
Hereda: QAbstractFormBuilder

Funciones Públicas

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

Descripción detallada

La clase QFormBuilder proporciona un mecanismo para la creación dinámica de interfaces de usuario en tiempo de ejecución, basado en archivos de interfaz de usuario creados con Qt Widgets Designer. Por ejemplo:

        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);
        }

Incluyendo la interfaz de usuario en los recursos del ejemplo (myForm.qrc), nos aseguramos de que estará presente cuando se ejecute el ejemplo:

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

QFormBuilder extiende la clase base QAbstractFormBuilder con una serie de funciones que se utilizan para soportar plugins de widgets personalizados:

  • pluginPaths() devuelve la lista de rutas que el constructor de formularios busca cuando carga plugins de widgets personalizados.
  • addPluginPath() permite registrar rutas adicionales con el constructor de formularios.
  • setPluginPath() se usa para reemplazar la lista de rutas existente con una lista obtenida de alguna otra fuente.
  • clearPluginPaths() elimina todas las rutas registradas con el constructor de formularios.
  • customWidgets() devuelve una lista de interfaces a plugins que se pueden utilizar para crear nuevas instancias de widgets personalizados registrados.

La clase QFormBuilder es típicamente usada por componentes personalizados y aplicaciones que incrustan Qt Widgets Designer. Las aplicaciones independientes que necesitan generar dinámicamente interfaces de usuario en tiempo de ejecución utilizan la clase QUiLoader, que se encuentra en el módulo QtUiTools.

Véase también QAbstractFormBuilder y Qt UI Tools.

Documentación de funciones miembro

QFormBuilder::QFormBuilder()

Construye un nuevo constructor de formularios.

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

Destruye el constructor de formularios.

void QFormBuilder::addPluginPath(const QString &pluginPath)

Añade una nueva ruta de plugin especificada por pluginPath a la lista de rutas que serán buscadas por el constructor de formularios cuando se cargue un plugin de widget personalizado.

Véase también setPluginPath() y clearPluginPaths().

void QFormBuilder::clearPluginPaths()

Borra la lista de rutas que el constructor de formularios utiliza para buscar plugins de widgets personalizados.

Véase también pluginPaths().

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

Devuelve una lista de los plugins disponibles.

QStringList QFormBuilder::pluginPaths() const

Devuelve la lista de rutas en las que el constructor de formularios busca plugins.

Véase también addPluginPath().

void QFormBuilder::setPluginPath(const QStringList &pluginPaths)

Establece la lista de rutas de plugins a la lista especificada por pluginPaths.

Véase también 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.