QFormBuilder Class
La classe QFormBuilder est utilisée pour construire dynamiquement des interfaces utilisateur à partir de fichiers d'interface utilisateur au moment de l'exécution. Plus d'informations...
| En-tête : | #include <QFormBuilder> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Designer)target_link_libraries(mytarget PRIVATE Qt6::Designer) |
| qmake : | QT += designer |
| Héritages : | 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, sur la base de fichiers d'interface utilisateur créés à l'aide de Qt Widgets Designer. 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 qui sont utilisées pour prendre en charge les plugins de widgets personnalisés :
- pluginPaths() renvoie la liste des chemins que le constructeur de formulaires recherche lors du chargement des plugins de widgets personnalisés.
- addPluginPath() permet d'enregistrer des chemins supplémentaires dans le générateur de formulaires.
- setPluginPath() est utilisé pour remplacer la liste de chemins existante par une liste obtenue à partir d'une autre source.
- clearPluginPaths() supprime tous les chemins enregistrés avec le constructeur de formulaires.
- customWidgets() renvoie une liste d'interfaces pour les plugins qui peuvent être utilisés pour créer de nouvelles instances de widgets personnalisés enregistrés.
La classe QFormBuilder est généralement utilisée par les composants personnalisés et les applications qui intègrent Qt Widgets Designer. Les applications autonomes qui doivent générer dynamiquement des interfaces utilisateur au moment de l'exécution utilisent la classe QUiLoader, qui se trouve dans le module QtUiTools.
Voir aussi QAbstractFormBuilder et Qt UI Tools.
Documentation des fonctions membres
QFormBuilder::QFormBuilder()
Construit un nouveau générateur de formulaires.
[override virtual noexcept] QFormBuilder::~QFormBuilder()
Détruit le constructeur de formulaires.
void QFormBuilder::addPluginPath(const QString &pluginPath)
Ajoute un nouveau chemin de plugin spécifié par pluginPath à la liste des chemins qui seront recherchés par le constructeur de formulaires lors du chargement d'un plugin de widget personnalisé.
Voir aussi setPluginPath() et clearPluginPaths().
void QFormBuilder::clearPluginPaths()
Efface la liste des chemins que le constructeur de formulaires utilise pour rechercher des plugins de widgets personnalisés.
Voir aussi pluginPaths().
QList<QDesignerCustomWidgetInterface *> QFormBuilder::customWidgets() const
Renvoie une liste des plugins disponibles.
QStringList QFormBuilder::pluginPaths() const
Renvoie la liste des chemins que le constructeur de formulaires recherche pour les plugins.
Voir aussi addPluginPath().
void QFormBuilder::setPluginPath(const QStringList &pluginPaths)
Définit la liste des chemins d'accès aux plugins en fonction de la liste spécifiée par pluginPaths.
Voir aussi 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.