Класс QDesignerWidgetBoxInterface
Класс QDesignerWidgetBoxInterface позволяет управлять содержимым виджет-боксов Qt Designer. Подробнее...
| Заголовок: | #include <QDesignerWidgetBoxInterface> |
| CMake: | find_package(Qt6 COMPONENTS Designer REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Designer) |
| qmake: | QT += designer |
| Наследует: | QWidget |
Открытые функции
| QDesignerWidgetBoxInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()) | |
| virtual | ~QDesignerWidgetBoxInterface() |
| virtual QString | fileName() const = 0 |
| virtual bool | load() = 0 |
| virtual bool | save() = 0 |
| virtual void | setFileName(const QString &fileName) = 0 |
Подробное описание
QDesignerWidgetBoxInterface содержит набор функций, обычно используемых для манипулирования содержимым виджет-бокса Qt Designer.
Qt Designer использует XML-файл для заполнения виджет-бокса. Имя этого файла является одним из свойств виджет-бокса, и его можно получить с помощью функции fileName().
QDesignerWidgetBoxInterface также предоставляет функцию save(), которая сохраняет содержимое виджет-бокса в файле, указанном свойством имени файла виджет-бокса. Если вы внесли изменения в виджет-бокс, например, поместив виджет в виджет-бокс, не вызвав функцию save(), исходное содержимое может быть восстановлено простым вызовом функции load():
QDesignerWidgetBoxInterface *widgetBox = 0:
widgetBox = formEditor->widgetBox();
widgetBox->load(); Класс QDesignerWidgetBoxInterface не предназначен для непосредственного создания экземпляров. Вы можете получить интерфейс к виджет-боксу Qt Designer, используя функцию QDesignerFormEditorInterface::widgetBox(). Указатель на текущий объект QDesignerFormEditorInterface Qt Designer (formEditor в примере выше) предоставляется параметром функции QDesignerCustomWidgetInterface::initialize(). При реализации плагина пользовательского виджета вы должны унаследовать от QDesignerCustomWidgetInterface, чтобы предоставить свой плагин Qt Designer.
Если вы хотите сохранить свои изменения и в то же время сохранить исходное содержимое, вы можете использовать функцию save() в сочетании с функцией setFileName() для сохранения ваших изменений в другой файл. Сначала запомните имя исходного файла:
QString originalFile = widgetBox->fileName();
widgetBox->setFileName("myWidgetBox.xml");
widgetBox->save(); Затем вы можете восстановить исходное содержимое виджет-бокса, сбросив имя файла на исходный файл и вызвав load():
widgetBox->setFileName(originalFile);
widgetBox->load(); Аналогичным образом вы можете позже использовать свой настроенный XML-файл:
if (widgetBox->filename() != "myWidgetBox.xml") {
widgetBox->setFileName("myWidgetBox.xml");
widgetBox->load();
} См. также QDesignerFormEditorInterface.
Документация по членам-функциям
QDesignerWidgetBoxInterface::QDesignerWidgetBoxInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
Конструирует интерфейс виджет-бокса с заданным parent и указанными флагами окна.
[virtual] QDesignerWidgetBoxInterface::~QDesignerWidgetBoxInterface()
Удаляет интерфейс виджет-бокса.
[pure virtual] QString QDesignerWidgetBoxInterface::fileName() const
Возвращает имя XML-файла, который в настоящее время используется Qt Designer для заполнения своего виджет-бокса.
См. также setFileName().
[pure virtual] bool QDesignerWidgetBoxInterface::load()
Заполняет виджет-бокс Qt Designer путем загрузки (или перезагрузки) текущего указанного XML-файла. Возвращает true, если файл успешно загружен; в противном случае false.
См. также setFileName().
[pure virtual] bool QDesignerWidgetBoxInterface::save()
Сохраняет содержимое виджет-бокса Qt Designer в файле, указанном функцией fileName(). Возвращает true, если содержимое успешно сохранено; в противном случае false.
См. также fileName() и setFileName().
[pure virtual] void QDesignerWidgetBoxInterface::setFileName(const QString &fileName)
Устанавливает XML-файл, который Qt Designer будет использовать для заполнения своего виджет-бокса, на fileName. Для обновления виджет-бокса с новым XML-файлом необходимо вызвать load().
См. также fileName() и load().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qdesignerwidgetboxinterface.html