Класс QFormBuilder
Класс QFormBuilder используется для динамического построения пользовательских интерфейсов из файлов пользовательского интерфейса во время выполнения. Подробнее...
| Заголовок: | #include <QFormBuilder> |
| qmake: | QT += designer |
| Наследуется от: | QAbstractFormBuilder |
Открытые функции
| QFormBuilder() | |
| virtual | ~QFormBuilder() override |
| void | addPluginPath(const QString &pluginPath) |
| void | clearPluginPaths() |
| QList<QDesignerCustomWidgetInterface *> | customWidgets() const |
| QStringList | pluginPaths() const |
| void | setPluginPath(const QStringList &pluginPaths) |
Подробное описание
Класс QFormBuilder предоставляет механизм для динамического создания пользовательских интерфейсов во время выполнения на основе файлов пользовательского интерфейса, созданных с помощью Qt Designer. Например:
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);
} Включив пользовательский интерфейс в ресурсы примера (myForm.qrc), мы гарантируем, что он будет присутствовать при запуске примера:
<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/forms">
<file>mywidget.ui</file>
</qresource>
</RCC> QFormBuilder расширяет базовый класс QAbstractFormBuilder рядом функций, используемых для поддержки плагинов пользовательских виджетов:
- pluginPaths() возвращает список путей, которые используется конструктором форм при загрузке плагинов пользовательских виджетов.
- addPluginPath() позволяет регистрировать дополнительные пути в конструкторе форм.
- setPluginPath() используется для замены существующего списка путей списком, полученным из другого источника.
- clearPluginPaths() удаляет все зарегистрированные пути в конструкторе форм.
- customWidgets() возвращает список интерфейсов плагинов, которые можно использовать для создания новых экземпляров зарегистрированных пользовательских виджетов.
Класс QFormBuilder обычно используется пользовательскими компонентами и приложениями, которые встраивают Qt Designer. Самостоятельные приложения, которым необходимо динамически генерировать пользовательские интерфейсы во время выполнения, используют класс QUiLoader, находящийся в модуле QtUiTools.
См. также QAbstractFormBuilder и Qt UI Tools.
Документация по функциям-членам
QFormBuilder::QFormBuilder()
Создаёт новый конструктор форм.
[override virtual] QFormBuilder::~QFormBuilder()
Удаляет конструктор форм.
void QFormBuilder::addPluginPath(const QString &pluginPath)
Добавляет новый путь к плагину, указанный параметром pluginPath, в список путей, которые будут проверяться конструктором форм при загрузке плагина пользовательского виджета.
См. также setPluginPath() и clearPluginPaths().
void QFormBuilder::clearPluginPaths()
Очищает список путей, которые конструктор форм использует для поиска плагинов пользовательских виджетов.
См. также pluginPaths().
QList<QDesignerCustomWidgetInterface *> QFormBuilder::customWidgets() const
Возвращает список доступных плагинов.
QStringList QFormBuilder::pluginPaths() const
Возвращает список путей, которые конструктор форм проверяет на наличие плагинов.
См. также addPluginPath().
void QFormBuilder::setPluginPath(const QStringList &pluginPaths)
Устанавливает список путей к плагинам в список, заданный параметром pluginPaths.
См. также addPluginPath().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qformbuilder.html