QFormBuilder Class
Die Klasse „QFormBuilder“ dient dazu, Benutzeroberflächen zur Laufzeit dynamisch aus UI-Dateien zu erstellen. Mehr...
| Header: | #include <QFormBuilder> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Designer) target_link_libraries(mytarget PRIVATE Qt6::Designer) |
| qmake: | QT += designer |
| Erbt von: | QAbstractFormBuilder |
Öffentliche Funktionen
| QFormBuilder() | |
| virtual | ~QFormBuilder() override |
| void | addPluginPath(const QString &pluginPath) |
| void | clearPluginPaths() |
| QList<QDesignerCustomWidgetInterface *> | customWidgets() const |
| QStringList | pluginPaths() const |
| void | setPluginPath(const QStringList &pluginPaths) |
Ausführliche Beschreibung
Die Klasse `QFormBuilder` bietet einen Mechanismus zum dynamischen Erstellen von Benutzeroberflächen zur Laufzeit auf der Grundlage von UI-Dateien, die mit dem „ Qt Widgets Designer“ erstellt wurden. Beispiel:
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);
}Indem wir die Benutzeroberfläche in die Ressourcen des Beispiels (myForm.qrc) einbinden, stellen wir sicher, dass sie beim Ausführen des Beispiels vorhanden ist:
<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/forms">
<file>mywidget.ui</file>
</qresource>
</RCC>QFormBuilder erweitert die Basisklasse „ QAbstractFormBuilder “ um eine Reihe von Funktionen, die zur Unterstützung benutzerdefinierter Widget-Plugins dienen:
- pluginPaths() gibt die Liste der Pfade zurück, die der Formular-Builder beim Laden benutzerdefinierter Widget-Plugins durchsucht.
- addPluginPath() ermöglicht es, zusätzliche Pfade beim Formular-Builder zu registrieren.
- setPluginPath() dient dazu, die vorhandene Liste der Pfade durch eine Liste zu ersetzen, die aus einer anderen Quelle stammt.
- clearPluginPaths() entfernt alle beim Formular-Builder registrierten Pfade.
- customWidgets() gibt eine Liste von Schnittstellen zu Plugins zurück, mit denen neue Instanzen registrierter benutzerdefinierter Widgets erstellt werden können.
Die Klasse `QFormBuilder` wird typischerweise von benutzerdefinierten Komponenten und Anwendungen verwendet, die den „ Qt Widgets Designer“ einbetten. Eigenständige Anwendungen, die Benutzeroberflächen zur Laufzeit dynamisch generieren müssen, verwenden die Klasse ` QUiLoader `, die im Modul „ QtUiTools “ zu finden ist.
Siehe auch „ QAbstractFormBuilder “ und Qt UI Tools.
Dokumentation zu den Member-Funktionen
QFormBuilder::QFormBuilder()
Erstellt einen neuen Formular-Generator.
[override virtual noexcept] QFormBuilder::~QFormBuilder()
Löscht den Formular-Generator.
void QFormBuilder::addPluginPath(const QString &pluginPath)
Fügt einen neuen, durch pluginPath angegebenen Plugin-Pfad zur Liste der Pfade hinzu, die vom Formular-Generator beim Laden eines benutzerdefinierten Widget-Plugins durchsucht werden.
Siehe auch setPluginPath() und clearPluginPaths().
void QFormBuilder::clearPluginPaths()
Löscht die Liste der Pfade, in denen der Formular-Generator nach benutzerdefinierten Widget-Plugins sucht.
Siehe auch ` pluginPaths()`.
QList<QDesignerCustomWidgetInterface *> QFormBuilder::customWidgets() const
Gibt eine Liste der verfügbaren Plugins zurück.
QStringList QFormBuilder::pluginPaths() const
Gibt die Liste der Pfade zurück, in denen der Formular-Generator nach Plugins sucht.
Siehe auch ` addPluginPath()`.
void QFormBuilder::setPluginPath(const QStringList &pluginPaths)
Setzt die Liste der Plugin-Pfade auf die unter pluginPaths angegebene Liste.
Siehe auch 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.