Spec-Zone.ru › Qt 5.15

Класс QAbstractFormBuilder

Класс QAbstractFormBuilder предоставляет реализацию по умолчанию для классов, которые создают пользовательские интерфейсы во время выполнения. Подробнее...

Заголовок: #include <QAbstractFormBuilder>
qmake: QT += designer
Наследуется от:

QFormBuilder

  • Список всех членов, включая унаследованные

Открытые функции

QAbstractFormBuilder()
virtual ~QAbstractFormBuilder()
QString errorString() const
virtual QWidget * load(QIODevice *device, QWidget *parent = nullptr)
virtual void save(QIODevice *device, QWidget *widget)
void setWorkingDirectory(const QDir &directory)
QDir workingDirectory() const

Защищенные типы

(alias) DomPropertyHash
(alias) IconPaths

Подробное описание

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 = nullptr)

Загружает XML-представление виджета из указанного device и строит новый виджет со специфицированным parent.

См. также save() и errorString().

[virtual] void QAbstractFormBuilder::save(QIODevice *device, QWidget *widget)

Сохраняет XML-представление заданного widget в указанный device в стандартном формате файла UI.

Примечание: В отличие от сохранения формы в Qt Designer, все значения свойств записываются. Это связано с тем, что состояние того, было ли значение свойства изменено или нет, не хранится в системе свойств Qt. Виджет, который сохраняется, мог быть создан динамически, а не загружен через load(), поэтому в этом случае генератор форм не осведомлен о списке изменённых свойств. Также нет универсального способа сделать это для виджетов, созданных динамически.

Поэтому вам следует удалить свойства, которые не требуются, из полученных XML-файлов перед их загрузкой. В качестве альтернативы, если вам уже известно, какие свойства вы хотите сохранить при вызове этого метода, вы можете перегрузить computeProperties() и вернуть отфильтрованный список необходимых свойств. В противном случае может возникнуть неожиданное поведение, так как некоторые из этих свойств могут зависеть друг от друга.

См. также 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.15/qabstractformbuilder.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API