QDesignerWidgetBoxInterface Class
Mit der Klasse „QDesignerWidgetBoxInterface“ können Sie den Inhalt der Widget-Box v Qt Widgets -Designer steuern. Mehr dazu...
| Header: | #include <QDesignerWidgetBoxInterface> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Designer) target_link_libraries(mytarget PRIVATE Qt6::Designer) |
| qmake: | QT += designer |
| Erbt von: | QWidget |
Öffentliche Funktionen
| QDesignerWidgetBoxInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()) | |
| virtual | ~QDesignerWidgetBoxInterface() override |
| virtual QString | fileName() const = 0 |
| virtual bool | load() = 0 |
| virtual bool | save() = 0 |
| virtual void | setFileName(const QString &fileName) = 0 |
Ausführliche Beschreibung
QDesignerWidgetBoxInterface enthält eine Sammlung von Funktionen, die typischerweise zur Bearbeitung des Inhalts der Widget-Box v Qt Widgets -Designer verwendet werden.
Qt Widgets Der Designer verwendet eine XML-Datei, um seine Widget-Box zu füllen. Der Name dieser Datei ist eine der Eigenschaften der Widget-Box und kann mit der Funktion ` fileName()` abgerufen werden.
QDesignerWidgetBoxInterface stellt außerdem die Funktion ` save()` bereit, die den Inhalt der Widget-Box in der Datei speichert, die durch die Eigenschaft „Dateiname“ der Widget-Box angegeben wird. Wenn Sie Änderungen an der Widget-Box vorgenommen haben, beispielsweise durch das Ablegen eines Widgets in der Widget-Box, ohne die Funktion ` save()` aufzurufen, kann der ursprüngliche Inhalt durch einen einfachen Aufruf der Funktion ` load()` wiederhergestellt werden:
auto *widgetBox = formEditor->widgetBox();
widgetBox->load();Die Klasse `QDesignerWidgetBoxInterface` ist nicht dafür vorgesehen, direkt instanziiert zu werden. Sie können mithilfe der Funktion ` QDesignerFormEditorInterface::widgetBox()` eine Schnittstelle zur Widget-Box von ` Qt Designer` abrufen. Ein Zeiger auf das aktuelle ` QDesignerFormEditorInterface `-Objekt des ` Qt Widgets `-Designers (im obigen Beispiel `formEditor `) wird vom Parameter der Funktion ` QDesignerCustomWidgetInterface::initialize()` bereitgestellt. Bei der Implementierung eines benutzerdefinierten Widget-Plugins müssen Sie eine Unterklasse von ` QDesignerCustomWidgetInterface ` erstellen, um Ihr Plugin dem ` Qt Widgets `-Designer verfügbar zu machen.
Wenn Sie Ihre Änderungen speichern und gleichzeitig den ursprünglichen Inhalt beibehalten möchten, können Sie die Funktion ` save()` in Kombination mit der Funktion ` setFileName()` verwenden, um Ihre Änderungen in einer anderen Datei zu speichern. Denken Sie daran, zunächst den Namen der Originaldatei zu speichern:
QString originalFile = widgetBox->fileName();
widgetBox->setFileName("myWidgetBox.xml");
widgetBox->save();Anschließend können Sie den ursprünglichen Inhalt des Widget-Feldes wiederherstellen, indem Sie den Dateinamen auf den ursprünglichen Dateinamen zurücksetzen und „ load()“ aufrufen:
widgetBox->setFileName(originalFile);
widgetBox->load();Auf ähnliche Weise können Sie später Ihre angepasste XML-Datei verwenden:
if (widgetBox->filename() != "myWidgetBox.xml") {
widgetBox->setFileName("myWidgetBox.xml");
widgetBox->load();
}Siehe auch „ QDesignerFormEditorInterface “.
Dokumentation zu Mitgliedsfunktionen
[explicit] QDesignerWidgetBoxInterface::QDesignerWidgetBoxInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
Erstellt eine Widget-Box-Oberfläche mit dem angegebenen „ parent “ und dem festgelegten „window flags “.
[override virtual noexcept] QDesignerWidgetBoxInterface::~QDesignerWidgetBoxInterface()
Löst die Widget-Box-Oberfläche auf.
[pure virtual] QString QDesignerWidgetBoxInterface::fileName() const
Gibt den Namen der XML-Datei zurück, die der „ Qt Widgets -Designer“ derzeit zum Befüllen seiner Widget-Box verwendet.
Siehe auch setFileName().
[pure virtual] bool QDesignerWidgetBoxInterface::load()
Füllt die Widget-Box des „ Qt Widgets “-Designers durch Laden (oder Neuladen) der aktuell angegebenen XML-Datei. Gibt „true“ zurück, wenn die Datei erfolgreich geladen wurde; andernfalls „false“.
Siehe auch ` setFileName()`.
[pure virtual] bool QDesignerWidgetBoxInterface::save()
Speichert den Inhalt der Widget-Box des „ Qt Widgets Designer“ in der durch die Funktion „ fileName()“ angegebenen Datei. Gibt „true“ zurück, wenn der Inhalt erfolgreich gespeichert wurde; andernfalls „false“.
Siehe auch „ fileName()“ und „ setFileName()“.
[pure virtual] void QDesignerWidgetBoxInterface::setFileName(const QString &fileName)
Legt die XML-Datei, die der „ Qt Widgets Designer“ zum Befüllen seiner Widget-Box verwendet, auf „ fileName “ fest. Sie müssen die Methode „ load()“ aufrufen, um die Widget-Box mit der neuen XML-Datei zu aktualisieren.
© 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.