Класс QAbstractFormBuilder
Класс QAbstractFormBuilder предоставляет реализацию по умолчанию для классов, создающих пользовательские интерфейсы во время выполнения. Подробнее...
| Заголовок: | #include <QAbstractFormBuilder> |
| qmake: | QT += designer |
| Наследуется от: |
Открытые функции
| QAbstractFormBuilder() | |
| виртуальный | ~QAbstractFormBuilder() |
| QString | errorString() const |
| виртуальный QWidget * | load(QIODevice *device, QWidget *parent = Q_NULLPTR) |
| виртуальный void | save(QIODevice *device, QWidget *widget) |
| void | setWorkingDirectory(const QDir &directory) |
| QDir | workingDirectory() const |
Подробное описание
Класс 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 в стандартном формате файла UI.
См. также 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.9/qabstractformbuilder.html