Класс QDesignerFormWindowInterface
Класс QDesignerFormWindowInterface позволяет запрашивать и изменять окна форм, отображаемые в рабочем пространстве Qt Designer. Подробнее...
| Заголовок: | #include <QDesignerFormWindowInterface> |
| CMake: | find_package(Qt6 COMPONENTS Designer REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Designer) |
| qmake: | QT += designer |
| Наследует: | QWidget |
Открытые типы
| флаги | Feature |
| перечисление | FeatureFlag { EditFeature, GridFeature, TabOrderFeature, DefaultFeature } |
| перечисление | ResourceFileSaveMode { SaveAllResourceFiles, SaveOnlyUsedResourceFiles, DontSaveResourceFiles } |
Открытые функции
| QDesignerFormWindowInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = {}) | |
| виртуальный | ~QDesignerFormWindowInterface() |
| виртуальный QDir | absoluteDir() const = 0 |
| QStringList | activeResourceFilePaths() const |
| виртуальный void | addResourceFile(const QString &path) = 0 |
| виртуальный QString | author() const = 0 |
| виртуальный QStringList | checkContents() const = 0 |
| виртуальный QString | comment() const = 0 |
| виртуальный QString | contents() const = 0 |
| виртуальный QDesignerFormEditorInterface * | core() const |
| виртуальный QDesignerFormWindowCursorInterface * | cursor() const = 0 |
| виртуальный void | emitSelectionChanged() = 0 |
| виртуальный QString | exportMacro() const = 0 |
| виртуальный QDesignerFormWindowInterface::Feature | features() const = 0 |
| виртуальный QString | fileName() const = 0 |
| виртуальный QWidget * | formContainer() const = 0 |
| виртуальный QPoint | grid() const = 0 |
| виртуальный bool | hasFeature(QDesignerFormWindowInterface::Feature feature) const = 0 |
| виртуальный QStringList | includeHints() const = 0 |
| виртуальный bool | isDirty() const = 0 |
| виртуальный bool | isManaged(QWidget *widget) const = 0 |
| виртуальный void | layoutDefault(int *margin, int *spacing) = 0 |
| виртуальный void | layoutFunction(QString *margin, QString *spacing) = 0 |
| виртуальный QString | pixmapFunction() const = 0 |
| виртуальный void | removeResourceFile(const QString &path) = 0 |
| виртуальный QDesignerFormWindowInterface::ResourceFileSaveMode | resourceFileSaveMode() const = 0 |
| виртуальный QStringList | resourceFiles() const = 0 |
| виртуальный void | setAuthor(const QString &author) = 0 |
| виртуальный void | setComment(const QString &comment) = 0 |
| виртуальный bool | setContents(QIODevice *device, QString *errorMessage = 0) = 0 |
| виртуальный void | setExportMacro(const QString &exportMacro) = 0 |
| виртуальный void | setIncludeHints(const QStringList &includeHints) = 0 |
| виртуальный void | setLayoutDefault(int margin, int spacing) = 0 |
| виртуальный void | setLayoutFunction(const QString &margin, const QString &spacing) = 0 |
| виртуальный void | setMainContainer(QWidget *mainContainer) = 0 |
| виртуальный void | setPixmapFunction(const QString &pixmapFunction) = 0 |
| виртуальный void | setResourceFileSaveMode(QDesignerFormWindowInterface::ResourceFileSaveMode behavior) = 0 |
Открытые слоты
| void | activateResourceFilePaths(const QStringList &paths, int *errorCount = nullptr, QString *errorMessages = nullptr) |
| virtual void | очиститьВыбор(bool update = true) = 0 |
| virtual void | управлятьВиджетом(QWidget *widget) = 0 |
| virtual void | выделитьВиджет(QWidget *widget, bool select = true) = 0 |
| virtual bool | установитьСодержимое(const QString &contents) = 0 |
| virtual void | пометитьИзменённым(bool dirty) = 0 |
| virtual void | установитьФункции(QDesignerFormWindowInterface::Feature features) = 0 |
| virtual void | установитьИмяФайла(const QString &fileName) = 0 |
| virtual void | установитьСетка(const QPoint &grid) = 0 |
| virtual void | отключитьУправлениеВиджетом(QWidget *widget) = 0 |
Сигналы
| void | о предстоящем отключении управления виджетом(QWidget *widget) |
| void | активировано(QWidget *widget) |
| void | изменено() |
| void | измененоСвойство(QDesignerFormWindowInterface::Feature feature) |
| void | измененоИмяФайла(const QString &fileName) |
| void | измененоГеометрия() |
| void | измененоОсновнойКонтейнер(QWidget *mainContainer) |
| void | удаленОбъект(QObject *object) |
| void | измененыФайлыРесурсов() |
| void | изменёнВыбор() |
| void | виджетУправляем(QWidget *widget) |
| void | удаленВиджет(QWidget *widget) |
| void | виджетНеУправляем(QWidget *widget) |
Статические публичные члены
| QDesignerFormWindowInterface * | найтиОкноФормы(QWidget *widget) |
| QDesignerFormWindowInterface * | найтиОкноФормы(QObject *object) |
Подробное описание
QDesignerFormWindowInterface предоставляет информацию о связанном окне формы, а также позволяет изменять его свойства. Интерфейс не предназначен для прямого создания экземпляров, но для предоставления доступа к текущим окнам форм Qt Designer, управляемых менеджером окон формы Qt Designer.
Если вы ищете окно формы, содержащее определённый виджет, вы можете использовать статический метод QDesignerFormWindowInterface::findFormWindow():
QDesignerFormWindowInterface *formWindow;
formWindow = QDesignerFormWindowInterface::findFormWindow(myWidget); Но, кроме того, вы можете получить доступ к любому из текущих окон форм через менеджер окон формы Qt Designer: Используйте функцию QDesignerFormEditorInterface::formWindowManager() для получения интерфейса к менеджеру. После этого вы можете получить доступ ко всем текущим окнам форм Qt Designer через функцию QDesignerFormWindowManagerInterface::formWindow(). Например:
QList<QDesignerFormWindowInterface *> forms;
QDesignerFormWindowInterface *formWindow;
QDesignerFormWindowManagerInterface *manager = formEditor->formWindowManager();
for (int i = 0; i < manager->formWindowCount(); i++) {
formWindow = manager->formWindow(i);
forms.append(formWindow);
} Указатель на текущий объект QDesignerFormEditorInterface Qt Designer (formEditor в примере выше) предоставляется параметром функции QDesignerCustomWidgetInterface::initialize(). При реализации плагина пользовательского виджета вы должны создать подкласс класса QDesignerCustomWidgetInterface для экспонирования вашего плагина в Qt Designer.
После получения окна формы вы можете запросить его свойства. Например, простой плагин пользовательского виджета управляется Qt Designer только на верхнем уровне, то есть ни один из его дочерних виджетов не может быть изменён в рабочем пространстве Qt Designer. Но QDesignerFormWindowInterface предоставляет функции, которые позволяют контролировать, должен ли виджет управляться Qt Designer или нет:
if (formWindow->isManaged(myWidget))
formWindow->manageWidget(myWidget->childWidget); Полный список функций, касающихся управления виджетами: isManaged(), manageWidget() и unmanageWidget(). Также имеется несколько связанных сигналов: widgetManaged(), widgetRemoved(), о предстоящем отключении управления виджетом() и widgetUnmanaged().
В дополнение к управлению виджетами, вы можете контролировать текущий выбор в окне формы, используя функции выделитьВиджет(), очиститьВыбор() и emitSelectionChanged(), а также сигнал изменёнВыбор().
Вы также можете получить информацию о том, где хранится форма, используя absoluteDir(), файлы включения с помощью includeHints(), и функции макета и пикселей с помощью layoutDefault(), layoutFunction() и pixmapFunction(). Вы можете определить, была ли форма изменена (но не сохранена), используя функцию isDirty(). Вы можете получить её автора, её содержимое, её имя файла, связанный комментарий() и экспортМакроса(), её основной контейнер(), её функции(), её сетку() и её файлы ресурсов().
Интерфейс предоставляет функции и слоты, позволяющие изменить большую часть этой информации. Исключением является директория, в которой хранится окно формы. Наконец, существует несколько сигналов, связанных с изменениями упомянутой выше информации и окна формы в целом.
См. также QDesignerFormWindowCursorInterface, QDesignerFormEditorInterface и QDesignerFormWindowManagerInterface.
Документация типов членов
перечисление QDesignerFormWindowInterface::Feature
Это перечисление описывает функции, которые доступны и могут быть контролируемыми интерфейсом окна формы. Эти значения используются при запросе окна формы для определения поддерживаемых им функций:
| Константа | Значение | Описание |
|---|---|---|
QDesignerFormWindowInterface::EditFeature |
0x01 |
Редактирование формы |
QDesignerFormWindowInterface::GridFeature |
0x02 |
Отображение сетки и возможности привязки к сетке для редактирования |
QDesignerFormWindowInterface::TabOrderFeature |
0x04 |
Управление порядком табуляции |
QDesignerFormWindowInterface::DefaultFeature |
EditFeature | GridFeature |
Поддержка основных функций (редактирование формы и сетки) |
Тип Feature — это typedef для QFlags<FeatureFlag>. Он хранит логическое ИЛИ сочетание значений FeatureFlag.
См. также hasFeature() и features().
[since 5.0] перечисление QDesignerFormWindowInterface::ResourceFileSaveMode
Это перечисление описывает, как сохраняются файлы ресурсов.
| Константа | Значение | Описание |
|---|---|---|
QDesignerFormWindowInterface::SaveAllResourceFiles |
0 |
Сохранить все файлы ресурсов. |
QDesignerFormWindowInterface::SaveOnlyUsedResourceFiles |
1 |
Сохранить файлы ресурсов, используемые формой. |
QDesignerFormWindowInterface::DontSaveResourceFiles |
2 |
Не сохранять файлы ресурсов. |
Это перечисление было добавлено или изменено в Qt 5.0.
Документация по функциям-членам
QDesignerFormWindowInterface::QDesignerFormWindowInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = {})
Создаёт интерфейс окна формы с заданным parent и указанными флагами окна flags.
[signal] void QDesignerFormWindowInterface::aboutToUnmanageWidget(QWidget *widget)
Этот сигнал испускается всякий раз, когда виджет на форме собирается стать неуправляемым. Когда испускается этот сигнал, указанный виджет widget всё ещё управляемый, и за ним последует сигнал widgetUnmanaged(), указывающий, когда он больше не управляемый.
См. также unmanageWidget() и isManaged().
[slot, since 5.0] void QDesignerFormWindowInterface::activateResourceFilePaths(const QStringList &paths, int *errorCount = nullptr, QString *errorMessages = nullptr)
Активирует пути к файлам ресурсов (.qrc) paths, возвращая количество ошибок в errorCount и сообщение об ошибке в errorMessages. Qt Designer загружает ресурсы с помощью класса QResource, делая их доступными для редактирования формы.
В интеграциях IDE можно активировать список файлов ресурсов проекта (.qrc), делая их доступными для Qt Designer.
Эта функция была добавлена в Qt 5.0.
См. также activeResourceFilePaths() и QResource.
[signal] void QDesignerFormWindowInterface::activated(QWidget *widget)
Этот сигнал испускается всякий раз, когда виджет активируется на форме. Активированный виджет задаётся параметром widget.
[signal] void QDesignerFormWindowInterface::changed()
Этот сигнал испускается всякий раз, когда форма изменяется.
[pure virtual slot] void QDesignerFormWindowInterface::clearSelection(bool update = true)
Очищает текущий выбор в окне формы. Если update равно true, вызывается функция emitSelectionChanged(), испуская сигнал selectionChanged().
См. также selectWidget().
[signal] void QDesignerFormWindowInterface::featureChanged(QDesignerFormWindowInterface::Feature feature)
Этот сигнал испускается всякий раз, когда изменяется функция формы. Новая функция задаётся параметром feature.
См. также setFeatures().
[signal] void QDesignerFormWindowInterface::fileNameChanged(const QString &fileName)
Этот сигнал испускается всякий раз, когда имя файла формы меняется. Новое имя файла задаётся параметром fileName.
См. также setFileName().
[signal] void QDesignerFormWindowInterface::geometryChanged()
Этот сигнал испускается всякий раз, когда изменяется геометрия формы.
[signal] void QDesignerFormWindowInterface::mainContainerChanged(QWidget *mainContainer)
Этот сигнал испускается всякий раз, когда изменяется основной контейнер. Новый контейнер задаётся параметром mainContainer.
См. также setMainContainer().
[pure virtual slot] void QDesignerFormWindowInterface::manageWidget(QWidget *widget)
Инструктирует окно формы управлять указанным виджетом widget.
См. также isManaged(), unmanageWidget() и widgetManaged().
[signal] void QDesignerFormWindowInterface::objectRemoved(QObject *object)
Этот сигнал испускается всякий раз, когда объект (например, действие или QButtonGroup) удаляется из формы. Удаляемый объект задаётся параметром object.
[signal] void QDesignerFormWindowInterface::resourceFilesChanged()
Этот сигнал испускается всякий раз, когда изменяется список файлов ресурсов, используемых формой.
См. также resourceFiles().
[pure virtual slot] void QDesignerFormWindowInterface::selectWidget(QWidget *widget, bool select = true)
Если select равно true, указанный виджет widget выбирается; в противном случае виджет widget снимается с выбора.
См. также clearSelection() и selectionChanged().
[signal] void QDesignerFormWindowInterface::selectionChanged()
Этот сигнал испускается всякий раз, когда изменяется выбор в форме.
См. также selectWidget() и clearSelection().
[pure virtual slot] bool QDesignerFormWindowInterface::setContents(const QString &contents)
Устанавливает содержимое формы с использованием данных, прочитанных из указанной строки contents, и возвращает, был ли успех операции.
См. также contents().
[pure virtual slot] void QDesignerFormWindowInterface::setDirty(bool dirty)
Если dirty равно true, окно формы помечается как грязное, означающее, что оно изменено, но не сохранено. Если dirty равно false, окно формы считается неизменённым.
См. также isDirty().
[pure virtual slot] void QDesignerFormWindowInterface::setFeatures(QDesignerFormWindowInterface::Feature features)
Включает указанные features для окна формы.
См. также features() и featureChanged().
[pure virtual slot] void QDesignerFormWindowInterface::setFileName(const QString &fileName)
Устанавливает имя файла для формы на заданное fileName.
См. также fileName() и fileNameChanged().
[pure virtual slot] void QDesignerFormWindowInterface::setGrid(const QPoint &grid)
Устанавливает размер сетки для окна формы в точку, указанную параметром grid. В этой функции координаты в QPoint используются для указания размеров прямоугольника в сетке.
См. также grid().
[pure virtual slot] void QDesignerFormWindowInterface::unmanageWidget(QWidget *widget)
Указывает окну формы не управлять указанным элементом widget.
См. также aboutToUnmanageWidget() и widgetUnmanaged().
[signal] void QDesignerFormWindowInterface::widgetManaged(QWidget *widget)
Этот сигнал генерируется всякий раз, когда элемент управления на форме становится управляемым. Новый управляемый элемент управления задаётся параметром widget.
См. также manageWidget().
[signal] void QDesignerFormWindowInterface::widgetRemoved(QWidget *widget)
Этот сигнал генерируется всякий раз, когда элемент управления удаляется с формы. Удаленный элемент управления задаётся параметром widget.
[signal] void QDesignerFormWindowInterface::widgetUnmanaged(QWidget *widget)
Этот сигнал генерируется всякий раз, когда элемент управления на форме перестаёт быть управляемым. Освобождённый элемент управления задаётся параметром widget.
См. также unmanageWidget() и aboutToUnmanageWidget().
[virtual] QDesignerFormWindowInterface::~QDesignerFormWindowInterface()
Удаляет интерфейс окна формы.
[pure virtual] QDir QDesignerFormWindowInterface::absoluteDir() const
Возвращает абсолютный путь к каталогу, содержащему форму, отображаемую в окне формы.
[since 5.0] QStringList QDesignerFormWindowInterface::activeResourceFilePaths() const
Возвращает пути к активным ресурсным файлам (.qrc), загруженным в настоящее время в Qt Designer.
Эта функция была добавлена в Qt 5.0.
См. также activateResourceFilePaths().
[pure virtual] void QDesignerFormWindowInterface::addResourceFile(const QString &path)
Добавляет ресурсный файл по заданному пути path к используемым файлам формы.
См. также resourceFiles() и resourceFilesChanged().
[pure virtual] QString QDesignerFormWindowInterface::author() const
Возвращает информацию об авторе или создателе формы, отображаемой в окне.
См. также setAuthor().
[pure virtual, since 5.0] QStringList QDesignerFormWindowInterface::checkContents() const
Выполняет проверки текущей формы и возвращает список предупреждений форматирования richtext о потенциальных проблемах (например, разделители верхнего уровня в формах без макета).
Интеграция IDE может вызывать эту функцию перед началом операции сохранения.
Эта функция была добавлена в Qt 5.0.
[pure virtual] QString QDesignerFormWindowInterface::comment() const
Возвращает комментарии к форме, отображаемой в окне.
См. также setComment().
[pure virtual] QString QDesignerFormWindowInterface::contents() const
Возвращает сведения о содержимом формы, отображаемой в окне.
См. также setContents().
[virtual] QDesignerFormEditorInterface *QDesignerFormWindowInterface::core() const
Возвращает указатель на текущий объект QDesignerFormEditorInterface Qt Designer.
[pure virtual] QDesignerFormWindowCursorInterface *QDesignerFormWindowInterface::cursor() const
Возвращает интерфейс курсора, используемый окном формы.
[pure virtual] void QDesignerFormWindowInterface::emitSelectionChanged()
Вызывает сигнал selectionChanged().
См. также selectWidget() и clearSelection().
[pure virtual] QString QDesignerFormWindowInterface::exportMacro() const
Возвращает макрос экспорта, связанный с формой, отображаемой в окне. Макрос экспорта используется при компиляции формы для создания плагина виджета.
См. также setExportMacro() и Создание пользовательских виджетов для Qt Designer.
[pure virtual] QDesignerFormWindowInterface::Feature QDesignerFormWindowInterface::features() const
Возвращает комбинацию функций, предоставляемых окном формы, связанным с интерфейсом. Возвращаемое значение можно сравнить со значениями перечисления Feature, чтобы определить, какие функции поддерживаются окном.
См. также setFeatures() и hasFeature().
[pure virtual] QString QDesignerFormWindowInterface::fileName() const
Возвращает имя файла UI, описывающего форму, которая в данный момент отображается.
См. также setFileName().
[static] QDesignerFormWindowInterface *QDesignerFormWindowInterface::findFormWindow(QWidget *widget)
Возвращает интерфейс окна формы для заданного элемента widget.
[static] QDesignerFormWindowInterface *QDesignerFormWindowInterface::findFormWindow(QObject *object)
Возвращает интерфейс окна формы для заданного объекта object.
[pure virtual, since 5.0] QWidget *QDesignerFormWindowInterface::formContainer() const
Возвращает форму, содержащую основной контейнерный виджет.
Эта функция была добавлена в Qt 5.0.
[pure virtual] QPoint QDesignerFormWindowInterface::grid() const
Возвращает интервал сетки, используемый окном формы.
См. также setGrid().
[pure virtual] bool QDesignerFormWindowInterface::hasFeature(QDesignerFormWindowInterface::Feature feature) const
Возвращает true, если окно формы предлагает указанную функцию feature; в противном случае возвращает false.
См. также features().
[pure virtual] QStringList QDesignerFormWindowInterface::includeHints() const
Возвращает список файлов заголовков, которые будут включены в файл UI, связанный с окном формы.
Файлы заголовков могут быть локальными, т. е. относительными к каталогу проекта, "mywidget.h", или глобальными, т. е. частью Qt или стандартных библиотек компилятора: <QtGui/QWidget>.
См. также setIncludeHints().
[pure virtual] bool QDesignerFormWindowInterface::isDirty() const
Возвращает true, если окно формы "грязное" (изменено, но не сохранено); в противном случае возвращает false.
См. также setDirty().
[pure virtual] bool QDesignerFormWindowInterface::isManaged(QWidget *widget) const
Возвращает true, если указанный элемент widget управляется окном формы; в противном случае возвращает false.
См. также manageWidget().
[pure virtual] void QDesignerFormWindowInterface::layoutDefault(int *margin, int *spacing)
Заполняет значения по умолчанию для отступа и интервала макета формы в переменных margin и spacing соответственно.
См. также setLayoutDefault().
[pure virtual] void QDesignerFormWindowInterface::layoutFunction(QString *margin, QString *spacing)
Заполняет текущие отступы и интервалы для макета формы в переменные margin и spacing.
См. также setLayoutFunction().
[pure virtual] QString QDesignerFormWindowInterface::pixmapFunction() const
Возвращает имя функции, используемой для загрузки растровых изображений в окно формы.
См. также setPixmapFunction().
[pure virtual] void QDesignerFormWindowInterface::removeResourceFile(const QString &path)
Удаляет файл ресурсов по указанному пути path из списка используемых формой.
См. также resourceFiles() и resourceFilesChanged().
[pure virtual] QDesignerFormWindowInterface::ResourceFileSaveMode QDesignerFormWindowInterface::resourceFileSaveMode() const
Возвращает режим сохранения файлов ресурсов.
См. также setResourceFileSaveMode().
[pure virtual] QStringList QDesignerFormWindowInterface::resourceFiles() const
Возвращает список путей к файлам ресурсов, которые в данный момент используются окном формы.
См. также addResourceFile() и removeResourceFile().
[pure virtual] void QDesignerFormWindowInterface::setAuthor(const QString &author)
Устанавливает данные об авторе или создателе формы в author.
См. также author().
[pure virtual] void QDesignerFormWindowInterface::setComment(const QString &comment)
Устанавливает информацию о форме в comment. Эта информация должна быть удобочитаемым комментарием о форме.
См. также comment().
[pure virtual] bool QDesignerFormWindowInterface::setContents(QIODevice *device, QString *errorMessage = 0)
Устанавливает содержимое формы, используя данные из заданного device, и возвращает, успешно ли выполнено загрузка. Если нет, сообщение об ошибке возвращается в errorMessage.
Данные могут быть прочитаны из объектов QFile или любого другого подкласса QIODevice.
См. также contents().
[pure virtual] void QDesignerFormWindowInterface::setExportMacro(const QString &exportMacro)
Устанавливает макрос экспорта окна формы в exportMacro. Макрос экспорта используется при построении плагина виджета для экспорта интерфейса формы в другие компоненты.
См. также exportMacro().
[pure virtual] void QDesignerFormWindowInterface::setIncludeHints(const QStringList &includeHints)
Устанавливает заголовочные файлы, которые будут включены в файл пользовательского интерфейса, связанный с окном формы, в includeHints.
Заголовочные файлы могут быть локальными, то есть относительными к каталогу проекта, "mywidget.h", или глобальными, то есть частью Qt или стандартных библиотек компилятора: <QtGui/QWidget>.
См. также includeHints().
[pure virtual] void QDesignerFormWindowInterface::setLayoutDefault(int margin, int spacing)
Устанавливает значения по умолчанию для отступов margin и интервалов spacing для макета формы.
См. также layoutDefault().
[pure virtual] void QDesignerFormWindowInterface::setLayoutFunction(const QString &margin, const QString &spacing)
Устанавливает отступы margin и интервалы spacing для макета формы.
Значения по умолчанию для макета будут заменены соответствующими функциями макета, когда uic генерирует код для формы, то есть, если функции указаны. Это полезно, когда разные среды требуют различных макетов для одной и той же формы.
См. также layoutFunction().
[pure virtual] void QDesignerFormWindowInterface::setMainContainer(QWidget *mainContainer)
Устанавливает основной виджет контейнера формы в указанный mainContainer.
См. также mainContainerChanged().
[pure virtual] void QDesignerFormWindowInterface::setPixmapFunction(const QString &pixmapFunction)
Устанавливает функцию для загрузки растровых изображений в окно формы в pixmapFunction.
См. также pixmapFunction().
[pure virtual] void QDesignerFormWindowInterface::setResourceFileSaveMode(QDesignerFormWindowInterface::ResourceFileSaveMode behavior)
Устанавливает режим сохранения файлов ресурсов behavior.
См. также resourceFileSaveMode().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qdesignerformwindowinterface.html