Класс QAbstractFormBuilder
Класс QAbstractFormBuilder предоставляет реализацию по умолчанию для классов, создающих пользовательские интерфейсы во время выполнения. Подробнее...
| Заголовок: | #include <QAbstractFormBuilder> |
| qmake: | QT += designer |
| Наследуется от: |
Открытые функции
| QAbstractFormBuilder() | |
| virtual | ~QAbstractFormBuilder() |
| QString | errorString() const |
| virtual QWidget * | load(QIODevice *device, QWidget *parent = Q_NULLPTR) |
| virtual void | save(QIODevice *device, QWidget *widget) |
| void | setWorkingDirectory(const QDir &directory) |
| QDir | workingDirectory() const |
Защищенные типы
| typedef | DomPropertyHash |
| typedef | IconPaths |
Защищенные переменные
| int | d |
Подробное описание
Класс QAbstractFormBuilder предоставляет реализацию по умолчанию для классов, создающих пользовательские интерфейсы во время выполнения.
QAbstractFormBuilder предоставляет стандартный интерфейс и реализацию по умолчанию для построения форм из файлов пользовательского интерфейса. Он не предназначен для непосредственного создания экземпляров. Используйте класс QFormBuilder для создания пользовательских интерфейсов из файлов UI во время выполнения. Например:
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();
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(myWidget);
setLayout(layout);
} Чтобы переопределить определенные аспекты поведения создателя форм, создайте подкласс QAbstractFormBuilder и переопределите соответствующие виртуальные функции:
- load() обрабатывает чтение файлов формата UI из произвольных QIODevice и построение виджетов из XML-данных, которые они содержат.
- save() обрабатывает сохранение данных виджета в формате UI в произвольные QIODevice.
- workingDirectory() и setWorkingDirectory() управляют каталогом, в котором хранятся формы. Создатель форм ищет другие ресурсы по путям, относительным к этому каталогу.
Класс QFormBuilder обычно используется пользовательскими компонентами и приложениями, которые встраивают Qt Designer. Самостоятельные приложения, которым необходимо динамически генерировать пользовательские интерфейсы во время выполнения, используют QUiLoader, который находится в модуле Qt UI Tools.
См. также Qt UI Tools.
Документация по членам-функциям
QAbstractFormBuilder::QAbstractFormBuilder()
Создает новый создатель форм.
[virtual] QAbstractFormBuilder::~QAbstractFormBuilder()
Уничтожает создатель форм.
QString QAbstractFormBuilder::errorString() const
Возвращает удобочитаемое описание последней ошибки, произошедшей в load().
Эта функция была введена в Qt 5.0.
См. также load().
[virtual] QWidget *QAbstractFormBuilder::load(QIODevice *device, QWidget *parent = Q_NULLPTR)
Загружает XML-представление виджета из заданного device и строит новый виджет с указанным parent.
См. также save() и errorString().
[virtual] void QAbstractFormBuilder::save(QIODevice *device, QWidget *widget)
Сохраняет XML-представление заданного widget в указанный device в стандартном формате файла пользовательского интерфейса.
См. также load().
void QAbstractFormBuilder::setWorkingDirectory(const QDir &directory)
Устанавливает текущий рабочий каталог создателя форм в указанный directory.
См. также workingDirectory().
QDir QAbstractFormBuilder::workingDirectory() const
Возвращает текущий рабочий каталог создателя форм.
См. также setWorkingDirectory().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qabstractformbuilder.html