QDesignerFormWindowInterface 类
QDesignerFormWindowInterface 类允许您查询和操作在 Qt 设计器 工作区中出现的表单窗口。 更多信息...
头文件 | #include <QDesignerFormWindowInterface> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Designer) target_link_libraries(mytarget PRIVATE Qt6::Designer) |
qmake | QT += designer |
继承 | QWidget |
公共类型
flags | 功能 |
枚举 | FeatureFlag { EditFeature, GridFeature, TabOrderFeature, DefaultFeature } |
枚举 | ResourceFileSaveMode { SaveAllResourceFiles, SaveOnlyUsedResourceFiles, DontSaveResourceFiles } |
公共函数
QDesignerFormWindowInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = {}) | |
virtual | ~QDesignerFormWindowInterface() |
virtual QDir | absoluteDir() const = 0 |
QStringList | activeResourceFilePaths() const |
virtual void | addResourceFile(const QString &path) = 0 |
virtual QString | author() const = 0 |
virtual QStringList | checkContents() const = 0 |
virtual QString | comment() const = 0 |
virtual QString | contents() const = 0 |
virtual QDesignerFormEditorInterface怯 | core() const |
virtual QDesignerFormWindowCursorInterface怯 | cursor() const = 0 |
virtual void | emitSelectionChanged() = 0 |
virtual QString | exportMacro() const = 0 |
virtual QDesignerFormWindowInterface::Feature | features() const = 0 |
virtual QString | fileName() const = 0 |
virtual QWidget怯 | formContainer() const = 0 |
virtual QPoint | grid() const = 0 |
virtual bool | hasFeature(QDesignerFormWindowInterface::Feature feature) const = 0 |
virtual QStringList | includeHints() const = 0 |
virtual bool | isDirty() const = 0 |
virtual bool | isManaged(QWidget *widget) const = 0 |
virtual void | layoutDefault(int *margin, int *spacing) = 0 |
virtual void | layoutFunction(QString *margin, QString *spacing) = 0 |
virtual QString | pixmapFunction() const = 0 |
virtual void | removeResourceFile(const QString &path) = 0 |
虚拟 QDesignerFormWindowInterface::ResourceFileSaveMode | resourceFileSaveMode() const = 0 |
virtual QStringList | resourceFiles() const = 0 |
virtual void | setAuthor(const QString &author) = 0 |
virtual void | setComment(const QString &comment) = 0 |
virtual bool | setContents(QIODevice *device, QString *errorMessage = 0) = 0 |
virtual void | setExportMacro(const QString &exportMacro) = 0 |
virtual void | setIncludeHints(const QStringList &includeHints) = 0 |
virtual void | setLayoutDefault(int margin, int spacing) = 0 |
virtual void | setLayoutFunction(const QString &margin, const QString &spacing) = 0 |
virtual void | setMainContainer(QWidget *mainContainer) = 0 |
virtual void | setPixmapFunction(const QString &pixmapFunction) = 0 |
virtual void | setResourceFileSaveMode(QDesignerFormWindowInterface::ResourceFileSaveMode behavior) = 0 |
公共槽
void | activateResourceFilePaths(const QStringList &paths, int *errorCount = nullptr, QString *errorMessages = nullptr) |
virtual void | clearSelection(bool update = true) = 0 |
virtual void | manageWidget(QWidget *widget) = 0 |
virtual void | selectWidget(QWidget *widget, bool select = true) = 0 |
virtual bool | setContents(const QString &contents) = 0 |
virtual void | setDirty(bool dirty) = 0 |
virtual void | setFeatures(QDesignerFormWindowInterface::Feature features) = 0 |
virtual void | setFileName(const QString &fileName) = 0 |
virtual void | setGrid(const QPoint &grid) = 0 |
virtual void | unmanageWidget(QWidget *widget) = 0 |
信号
void | aboutToUnmanageWidget(QWidget *widget) |
void | activated(QWidget *widget) |
void | changed() |
void | featureChanged(QDesignerFormWindowInterface::Feature feature) |
void | fileNameChanged(const QString &fileName) |
void | geometryChanged() |
void | mainContainerChanged(QWidget *mainContainer) |
void | objectRemoved(QObject *object) |
void | resourceFilesChanged() |
void | selectionChanged() |
void | widgetManaged(QWidget *widget) |
void | widgetRemoved(QWidget *widget) |
void | widgetUnmanaged(QWidget *widget) |
静态公共成员
QDesignerFormWindowInterface * | findFormWindow(QWidget *widget) |
QDesignerFormWindowInterface * | findFormWindow(QObject *object) |
详细描述
QDesignerFormWindowInterface 提供有关关联表单窗口的信息,以及允许更改其属性。该接口不打算直接实例化,而是为了提供对 Qt Designer 当前表单窗口的访问,这些窗口由 Qt Designer 的 表单窗口管理器 控制。
如果你在寻找包含特定小部件的表单窗口,你可以使用静态的QDesignerFormWindowInterface::findFormWindow() 函数
auto *formWindow = QDesignerFormWindowInterface::findFormWindow(myWidget);
但是除此之外,你还可以通过Qt Designer的表单窗口管理器访问任何当前表单窗口:使用QDesignerFormEditorInterface::formWindowManager() 函数来获取管理器的接口。一旦你有了这个接口,你就可以通过QDesignerFormWindowManagerInterface::formWindow() 函数访问Qt Designer的所有当前表单窗口。例如
QList<QDesignerFormWindowInterface *> forms; auto *manager = formEditor->formWindowManager(); for (int i = 0; i < manager->formWindowCount(); ++i) forms.append(manager->formWindow(i));
在上述示例中,Qt Designer当前QDesignerFormEditorInterface对象(即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(),aboutToUnmanageWidget(),和widgetUnmanaged()。
除了控制小部件的管理之外,你还可以使用selectWidget(),clearSelection(),和emitSelectionChanged() 函数以及selectionChanged()信号来控制表单窗口中的当前选择。
你还可以使用absoluteDir()来检索表单的存储位置,使用includeHints()检索其包含的头文件,使用layoutDefault(),layoutFunction(),和pixmapFunction()来检索其布局和图形,使用isDirty()函数来确定表单窗口是否已修改(但未保存)。你可以检索其author(),其contents(),其fileName(),相关comment()和exportMacro(),其mainContainer(),其features(),其grid(),以及其resourceFiles()。
该接口还提供了函数和槽来帮助你修改大部分这些信息。唯一例外的是存储表单窗口的目录。最后,还有一些与上述信息更改以及表单窗口常规更改相关的信号。
另请参阅 QDesignerFormWindowCursorInterface、QDesignerFormEditorInterface 和 QDesignerFormWindowManagerInterface。
成员类型文档
枚举 QDesignerFormWindowInterface::FeatureFlag
标志 QDesignerFormWindowInterface::Feature
这个枚举描述了由表单窗口接口可用并可以控制的特性。这些值在查询表单窗口时使用,以确定它支持哪些特性
常量 | 值 | 描述 |
---|---|---|
QDesignerFormWindowInterface::EditFeature | 0x01 | 表单编辑 |
QDesignerFormWindowInterface::GridFeature | 0x02 | 网格显示和编辑时的吸附网格功能 |
QDesignerFormWindowInterface::TabOrderFeature | 0x04 | Tab顺序管理 |
QDesignerFormWindowInterface::DefaultFeature | EditFeature | GridFeature | 支持默认特性(表单编辑和网格) |
Feature 类型是 QFlags<FeatureFlag> 的 typedef。它存储了一个 FeatureFlag 值的 OR 组合。
另请参阅 hasFeature() 和 features。
枚举 QDesignerFormWindowInterface::ResourceFileSaveMode
这个枚举描述了如何保存资源文件。
常量 | 值 | 描述 |
---|---|---|
QDesignerFormWindowInterface::SaveAllResourceFiles | 0 | 保存所有资源文件。 |
QDesignerFormWindowInterface::SaveOnlyUsedResourceFiles | 1 | 保存表单使用的资源文件。 |
QDesignerFormWindowInterface::DontSaveResourceFiles | 2 | 不保存资源文件。 |
成员函数文档
[显式]
QDesignerFormWindowInterface::QDesignerFormWindowInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = {})
使用给定的 parent 和指定的窗口 flags 构造表单窗口接口。
[虚,noexcept]
QDesignerFormWindowInterface::~QDesignerFormWindowInterface()
销毁表单窗口接口。
[信号]
void QDesignerFormWindowInterface::aboutToUnmanageWidget(QWidget *widget)
当表单上的一个部件将要停止管理时,会发出这个信号。当这个信号发出时,指定的 widget 仍然是可管理的,并且将会跟一个 widgetUnmanaged() 信号,指示它何时停止管理。
另请参阅 unmanageWidget() 和 isManaged。
[纯虚]
QDir QDesignerFormWindowInterface::absoluteDir() const
返回包含在表单窗口中显示的表单的目录的绝对位置。
[槽]
void QDesignerFormWindowInterface::activateResourceFilePaths(const QStringList &paths, int *errorCount = nullptr, QString *errorMessages = nullptr)
激活资源(.qrc)文件路径 paths,返回错误数量在 errorCount 中,错误信息在 errorMessages 中。 Qt Designer 使用 QResource 类加载资源,使其可用于表单编辑。
在 IDE 集成中,可以激活项目的资源(.qrc)文件列表,使其对 Qt Designer 可用。
另请参阅activeResourceFilePaths() 和 QResource。
[信号]
void QDesignerFormWindowInterface::activated(QWidget *widget)
每当表单上激活一个小部件时,就会触发此信号。被激活的小部件通过 widget 指定。
QStringList QDesignerFormWindowInterface::activeResourceFilePaths() const
返回当前在 Qt Designer 中加载的活动资源(.qrc)文件路径。
另请参阅activateResourceFilePaths。
[纯虚函数]
void QDesignerFormWindowInterface::addResourceFile(const QString &path)
将给定的 path 中指定的资源文件添加到表单使用的那些文件中。
另请参阅resourceFiles 和 resourceFilesChanged。
[纯虚函数]
QString QDesignerFormWindowInterface::author() const
返回当前在窗口中显示的表单创建者的详细信息。
另请参阅setAuthor。
[信号]
void QDesignerFormWindowInterface::changed()
每当表单发生变化时,都会发出此信号。
[纯虚函数]
QStringList QDesignerFormWindowInterface::checkContents() const
对当前表单执行检查,并返回关于潜在问题的 richtext 警告列表(例如,未摆放到布局中的顶层间隔符)。
IDE 集成可以在处理保存操作之前调用此函数。
[纯虚槽]
void QDesignerFormWindowInterface::clearSelection(bool update = true)
清除表单窗口中的当前选中项。如果 update 为 true,则调用 emitSelectionChanged() 函数,发出 selectionChanged() 信号。
另请参阅selectWidget。
[纯虚函数]
QString QDesignerFormWindowInterface::comment() const
返回关于当前在窗口中显示的表单的注释。
另请参阅setComment。
[纯虚函数]
QString QDesignerFormWindowInterface::contents() const
返回当前在窗口中显示的表单的详细信息。
另请参阅 setContents。
[虚拟]
QDesignerFormEditorInterface *QDesignerFormWindowInterface::core() const
返回一个指向 Qt Designer 当前 QDesignerFormEditorInterface 对象的指针。
[纯虚]
QDesignerFormWindowCursorInterface *QDesignerFormWindowInterface::cursor() const
返回表单窗口使用的光标接口。
[纯虚]
void QDesignerFormWindowInterface::emitSelectionChanged()
发出 selectionChanged() 信号。
另请参阅 selectWidget() 和 clearSelection。
[纯虚]
QString QDesignerFormWindowInterface::exportMacro() const
返回与窗口当前显示的表单相关联的导出宏。当编译表单以创建小部件插件时,使用导出宏。
另请参阅 setExportMacro() 和 为 Qt Designer 创建自定义小部件。
[信号]
void QDesignerFormWindowInterface::featureChanged(QDesignerFormWindowInterface::Feature feature)
每当表单中某个特性发生变化时,都会发出此信号。新的特性由 特征 指定。
另请参阅 setFeatures。
[纯虚]
QDesignerFormWindowInterface::Feature QDesignerFormWindowInterface::features() const
返回与接口关联的表单窗口提供的特性组合。返回的值可以与 特性 枚举值进行比较,以确定该窗口支持哪些特性。
另请参阅 setFeatures() 和 hasFeature。
[纯虚]
QString QDesignerFormWindowInterface::fileName() const
返回描述当前显示的表单的 UI 文件的文件名。
另请参阅 setFileName。
[信号]
void QDesignerFormWindowInterface::fileNameChanged(const QString &fileName)
每当表单的文件名更改时,都会发出此信号。新的文件名由 文件名 指定。
另请参阅 setFileName。
[静态]
QDesignerFormWindowInterface *QDesignerFormWindowInterface::findFormWindow(QWidget *widget)
返回给定 widget 的表单窗口界面。
[静态]
QDesignerFormWindowInterface *QDesignerFormWindowInterface::findFormWindow(QObject *object)
返回给定 对象 的表单窗口界面。
[纯虚函数]
QWidget *QDesignerFormWindowInterface::formContainer() const
返回包含主要容器小部件的表单。
[信号]
void QDesignerFormWindowInterface::geometryChanged()
每当表单大小发生变化时,此信号都会被发射。
[纯虚函数]
QPoint QDesignerFormWindowInterface::grid() const
返回表单窗口使用的网格间距。
参见setGrid().
[纯虚函数]
bool QDesignerFormWindowInterface::hasFeature(QDesignerFormWindowInterface::Feature feature) const
如果表单窗口提供指定的 功能,则返回 true;否则返回 false。
参见features().
[纯虚函数]
QStringList QDesignerFormWindowInterface::includeHints() const
返回将包含在表单窗口相关 UI 文件中的头文件列表。
头文件可以是本地的,即相对于项目目录,例如 "mywidget.h"
,或全局的,即 Qt 或编译器标准库的一部分:<QtGui/QWidget>
。
参见setIncludeHints().
[纯虚函数]
bool QDesignerFormWindowInterface::isDirty() const
如果表单窗口是“脏的”(已修改但未保存),则返回 true;否则返回 false。
参见setDirty().
[纯虚函数]
bool QDesignerFormWindowInterface::isManaged(QWidget *widget) const
如果指定的 小部件 由表单窗口管理,则返回 true;否则返回 false。
参见manageWidget().
[纯虚函数]
void QDesignerFormWindowInterface::layoutDefault(int *margin, int *spacing)
使用在 margin 和 spacing 变量中指定的变量填充表单默认布局的默认边距和间距。
参见setLayoutDefault().
[纯虚函数]
void QDesignerFormWindowInterface::layoutFunction(QString *margin, QString *spacing)
使用在 margin 和 spacing 变量中指定的变量填充表单布局的当前边距和间距。
也请参阅 setLayoutFunction()。
[signal]
void QDesignerFormWindowInterface::mainContainerChanged(QWidget *mainContainer)
每次主要容器更改时都会发出此信号。新的容器由 mainContainer 指定。
也请参阅 setMainContainer()。
[纯虚函数槽]
void QDesignerFormWindowInterface::manageWidget(QWidget *widget)
指示表单窗口管理指定的 widget。
也请参阅 isManaged(),unmanageWidget() 和 widgetManaged()。
[signal]
void QDesignerFormWindowInterface::objectRemoved(QObject *object)
当从表单中移除对象(如动作或 QButtonGroup)时,会发出此信号。被移除的对象由 object 指定。
[纯虚函数]
QString QDesignerFormWindowInterface::pixmapFunction() const
返回用于将位图加载到表单窗口的函数名称。
也请参阅 setPixmapFunction()。
[纯虚函数]
QString QDesignerFormWindowInterface::removeResourceFile(const QString &path)
从表单使用的列表中删除指定 path 的资源文件。
另请参阅resourceFiles 和 resourceFilesChanged。
[纯虚函数]
QDesignerFormWindowInterface::ResourceFileSaveMode QDesignerFormWindowInterface::resourceFileSaveMode() const
返回资源文件保存模式行为。
也请参阅 setResourceFileSaveMode()。
[纯虚函数]
QStringList QDesignerFormWindowInterface::resourceFiles() const
返回当前由表单窗口使用的资源文件路径列表。
也请参阅 addResourceFile() 和 removeResourceFile()。
[signal]
void QDesignerFormWindowInterface::resourceFilesChanged()
每当表单使用的资源文件列表更改时,都会发出此信号。
也请参阅 resourceFiles()。
[纯虚函数槽]
void QDesignerFormWindowInterface::selectWidget(QWidget *widget, bool select = true)
如果 select 为真,则选中给定的 widget;否则 widget 将被取消选中。
另请参阅clearSelection() 和 selectionChanged()。
[信号]
void QDesignerFormWindowInterface::selectionChanged()
每当表单中的选择发生变化时,都会发出此信号。
另请参阅 selectWidget() 和 clearSelection。
[纯虚函数]
void QDesignerFormWindowInterface::setAuthor(const QString &author)
将表单的作者或创建者详情设置为指定的 author。
另请参阅作者()。
[纯虚函数]
void QDesignerFormWindowInterface::setComment(const QString &comment)
将表单信息设置为指定的 comment。此信息应该是关于表单的供人类阅读的注释。
另请参阅评论()。
[纯虚函数]
bool QDesignerFormWindowInterface::setContents(QIODevice *device, QString *errorMessage = 0)
使用从指定 device 获取的数据设置表单内容,并返回是否加载成功。如果失败,错误信息将返回到 errorMessage 中。
数据可以从 QFile 对象或其他 QIODevice 的子类中读取。
另请参阅内容()。
[纯虚槽]
bool QDesignerFormWindowInterface::setContents(const QString &contents)
使用从指定 contents 字符串读取的数据设置表单内容,并返回操作是否成功。
另请参阅内容()。
[纯虚槽]
void QDesignerFormWindowInterface::setDirty(bool dirty)
如果 dirty 为真,表单窗口将被标记为脏的,表示已被修改但尚未保存。如果 dirty 为假,则认为表单窗口未修改。
另请参阅isDirty()。
[纯虚函数]
void QDesignerFormWindowInterface::setExportMacro(const QString &exportMacro)
将表单窗口的导出宏设置为 exportMacro。导出宏用于在构建小部件插件时将表单接口导出到其他组件。
另请参阅导出宏()。
[纯虚槽]
void QDesignerFormWindowInterface::setFeatures(QDesignerFormWindowInterface::Feature features)
为表单窗口启用指定的 features。
另请参阅features() 和 featureChanged()。
[纯虚函数槽]
void QDesignerFormWindowInterface::setFileName(const QString &fileName)
将表单的文件名设置为给定的 fileName。
另见fileName() 和 fileNameChanged。
[纯虚函数槽]
void QDesignerFormWindowInterface::setGrid(const QPoint &grid)
将表单窗口的网格大小设置为由 grid 指定的点。在此函数中,使用 QPoint 中的坐标来指定网格中矩形的大小。
另见grid。
[纯虚函数]
void QDesignerFormWindowInterface::setIncludeHints(const QStringList &includeHints)
将关联到表单窗口的 UI 文件的头文件设置为指定的 includeHints。
头文件可以是本地的,即相对于项目目录,例如 "mywidget.h"
,或全局的,即 Qt 或编译器标准库的一部分:<QtGui/QWidget>
。
另见includeHints。
[纯虚函数]
void QDesignerFormWindowInterface::setLayoutDefault(int margin, int spacing)
设置表单布局的默认 margin 和 spacing。
[纯虚函数]
void QDesignerFormWindowInterface::setLayoutFunction(const QString &margin, const QString &spacing)
设置表单布局的 margin 和 spacing。
当 uic
为表单生成代码时,默认布局属性将由相应的布局函数替换,即当指定了这些函数时。这适用于不同的环境需要同一表单的不同布局。
[纯虚函数]
void QDesignerFormWindowInterface::setMainContainer(QWidget *mainContainer)
将表单上的主容器小部件设置为指定的 mainContainer。
[纯虚函数]
void QDesignerFormWindowInterface::setPixmapFunction(const QString &pixmapFunction)
将用于将位图加载到表单窗口中的函数设置为给定的 pixmapFunction。
[纯虚函数]
void QDesignerFormWindowInterface::setResourceFileSaveMode(QDesignerFormWindowInterface::ResourceFileSaveMode behavior)
设置资源文件保存模式的行为。
另请参阅resourceFileSaveMode。
[纯虚函数]
void QDesignerFormWindowInterface::unmanageWidget(QWidget *widget)
指示表单窗口不要管理指定的 小部件。
另请参阅aboutToUnmanageWidget() 和 widgetUnmanaged。
[信号]
void QDesignerFormWindowInterface::widgetManaged(QWidget *widget)
每当表单上的小部件变为受管理时,都会发出此信号。新受管理的小部件由 小部件 指定。
参见manageWidget().
[信号]
void QDesignerFormWindowInterface::widgetRemoved(QWidget *widget)
当从小部件中删除小部件时,会发出此信号。被删除的小部件由 小部件 指定。
[信号]
void QDesignerFormWindowInterface::widgetUnmanaged(QWidget *widget)
当表单上的小部件变为不受管理时,会发出此信号。新释放的小部件由 小部件 指定。
另请参阅unmanageWidget() 和 aboutToUnmanageWidget。
© 2024 The Qt Company Ltd. 本文档中的文档贡献的版权均属各自所有者。本文档根据自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 条款发布。Qt 及相关标志是 The Qt Company Ltd. 在芬兰及其它国家和地区的商标。所有其他商标均为其各自所有者的财产。