QFormBuilder Class
La classe QFormBuilder permet de créer dynamiquement des interfaces utilisateur à partir de fichiers d'interface utilisateur lors de l'exécution. En savoir plus...
| En-tête : | #include <QFormBuilder> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Designer) target_link_libraries(mytarget PRIVATE Qt6::Designer) |
| qmake : | QT += designer |
| Hérite de : | QAbstractFormBuilder |
Fonctions publiques
| QFormBuilder() | |
| virtual | ~QFormBuilder() override |
| void | addPluginPath(const QString &pluginPath) |
| void | clearPluginPaths() |
| QList<QDesignerCustomWidgetInterface *> | customWidgets() const |
| QStringList | pluginPaths() const |
| void | setPluginPath(const QStringList &pluginPaths) |
Description détaillée
La classe QFormBuilder fournit un mécanisme permettant de créer dynamiquement des interfaces utilisateur au moment de l'exécution, à partir de fichiers d'interface utilisateur créés avec le concepteur d'Qt Widgets. Par exemple :
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);
}En incluant l'interface utilisateur dans les ressources de l'exemple (myForm.qrc), nous nous assurons qu'elle sera présente lors de l'exécution de l'exemple :
<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/forms">
<file>mywidget.ui</file>
</qresource>
</RCC>QFormBuilder étend la classe de base QAbstractFormBuilder avec un certain nombre de fonctions utilisées pour prendre en charge les plugins de widgets personnalisés :
- pluginPaths() renvoie la liste des chemins d’accès que le générateur de formulaires explore lors du chargement des plugins de widgets personnalisés.
- addPluginPath() permet d’enregistrer des chemins d’accès supplémentaires auprès du générateur de formulaires.
- setPluginPath() sert à remplacer la liste existante de chemins d’accès par une liste provenant d’une autre source.
- clearPluginPaths() supprime tous les chemins d’accès enregistrés auprès du générateur de formulaires.
- customWidgets() renvoie une liste d’interfaces de plugins pouvant être utilisées pour créer de nouvelles instances de widgets personnalisés enregistrés.
La classe `QFormBuilder` est généralement utilisée par des composants personnalisés et des applications qui intègrent le concepteur d'Qt Widgets. Les applications autonomes qui doivent générer dynamiquement des interfaces utilisateur au moment de l'exécution utilisent la classe ` QUiLoader `, disponible dans le module ` QtUiTools `.
Voir également QAbstractFormBuilder et Qt UI Tools.
Documentation sur les fonctions membres
QFormBuilder::QFormBuilder()
Crée un nouveau générateur de formulaires.
[override virtual noexcept] QFormBuilder::~QFormBuilder()
Supprime le générateur de formulaires.
void QFormBuilder::addPluginPath(const QString &pluginPath)
Ajoute un nouveau chemin d'accès aux plugins, spécifié par pluginPath, à la liste des chemins qui seront parcourus par le générateur de formulaires lors du chargement d'un plugin de widget personnalisé.
Voir également setPluginPath() et clearPluginPaths().
void QFormBuilder::clearPluginPaths()
Efface la liste des chemins d'accès utilisés par le générateur de formulaires pour rechercher les plugins de widgets personnalisés.
Voir également pluginPaths().
QList<QDesignerCustomWidgetInterface *> QFormBuilder::customWidgets() const
Renvoie une liste des plugins disponibles.
QStringList QFormBuilder::pluginPaths() const
Renvoie la liste des chemins dans lesquels le générateur de formulaires recherche les plugins.
Voir aussi addPluginPath().
void QFormBuilder::setPluginPath(const QStringList &pluginPaths)
Définit la liste des chemins d'accès aux plugins sur celle spécifiée par pluginPaths.
Voir également 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.