Класс QFormBuilder
Класс QFormBuilder используется для динамического построения пользовательских интерфейсов из файлов пользовательского интерфейса во время выполнения. Подробнее...
| Заголовок: | #include <QFormBuilder> |
| CMake: | find_package(Qt6 COMPONENTS Designer REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Designer) |
| 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-6.1/qformbuilder.html