QDesignerFormWindowInterface 类

QDesignerFormWindowInterface 类允许您查询和操作在 Qt 设计器 工作区中出现的表单窗口。 更多信息...

头文件 #include <QDesignerFormWindowInterface>
CMakefind_package(Qt6 REQUIRED COMPONENTS Designer)
target_link_libraries(mytarget PRIVATE Qt6::Designer)
qmakeQT += designer
继承 QWidget

公共类型

flags功能
枚举FeatureFlag { EditFeature, GridFeature, TabOrderFeature, DefaultFeature }
枚举ResourceFileSaveMode { SaveAllResourceFiles, SaveOnlyUsedResourceFiles, DontSaveResourceFiles }

公共函数

QDesignerFormWindowInterface(QWidget *parent = nullptr, Qt::WindowFlags flags = {})
virtual~QDesignerFormWindowInterface()
virtual QDirabsoluteDir() const = 0
QStringListactiveResourceFilePaths() const
virtual voidaddResourceFile(const QString &path) = 0
virtual QStringauthor() const = 0
virtual QStringListcheckContents() const = 0
virtual QStringcomment() const = 0
virtual QStringcontents() const = 0
virtual QDesignerFormEditorInterface怯core() const
virtual QDesignerFormWindowCursorInterface怯cursor() const = 0
virtual voidemitSelectionChanged() = 0
virtual QStringexportMacro() const = 0
virtual QDesignerFormWindowInterface::Featurefeatures() const = 0
virtual QStringfileName() const = 0
virtual QWidget怯formContainer() const = 0
virtual QPointgrid() const = 0
virtual boolhasFeature(QDesignerFormWindowInterface::Feature feature) const = 0
virtual QStringListincludeHints() const = 0
virtual boolisDirty() const = 0
virtual boolisManaged(QWidget *widget) const = 0
virtual voidlayoutDefault(int *margin, int *spacing) = 0
virtual voidlayoutFunction(QString *margin, QString *spacing) = 0
virtual QStringpixmapFunction() const = 0
virtual voidremoveResourceFile(const QString &path) = 0
虚拟 QDesignerFormWindowInterface::ResourceFileSaveModeresourceFileSaveMode() const = 0
virtual QStringListresourceFiles() const = 0
virtual voidsetAuthor(const QString &author) = 0
virtual voidsetComment(const QString &comment) = 0
virtual boolsetContents(QIODevice *device, QString *errorMessage = 0) = 0
virtual voidsetExportMacro(const QString &exportMacro) = 0
virtual voidsetIncludeHints(const QStringList &includeHints) = 0
virtual voidsetLayoutDefault(int margin, int spacing) = 0
virtual voidsetLayoutFunction(const QString &margin, const QString &spacing) = 0
virtual voidsetMainContainer(QWidget *mainContainer) = 0
virtual voidsetPixmapFunction(const QString &pixmapFunction) = 0
virtual voidsetResourceFileSaveMode(QDesignerFormWindowInterface::ResourceFileSaveMode behavior) = 0

公共槽

voidactivateResourceFilePaths(const QStringList &paths, int *errorCount = nullptr, QString *errorMessages = nullptr)
virtual voidclearSelection(bool update = true) = 0
virtual voidmanageWidget(QWidget *widget) = 0
virtual voidselectWidget(QWidget *widget, bool select = true) = 0
virtual boolsetContents(const QString &contents) = 0
virtual voidsetDirty(bool dirty) = 0
virtual voidsetFeatures(QDesignerFormWindowInterface::Feature features) = 0
virtual voidsetFileName(const QString &fileName) = 0
virtual voidsetGrid(const QPoint &grid) = 0
virtual voidunmanageWidget(QWidget *widget) = 0

信号

voidaboutToUnmanageWidget(QWidget *widget)
voidactivated(QWidget *widget)
voidchanged()
voidfeatureChanged(QDesignerFormWindowInterface::Feature feature)
voidfileNameChanged(const QString &fileName)
voidgeometryChanged()
voidmainContainerChanged(QWidget *mainContainer)
voidobjectRemoved(QObject *object)
voidresourceFilesChanged()
voidselectionChanged()
voidwidgetManaged(QWidget *widget)
voidwidgetRemoved(QWidget *widget)
voidwidgetUnmanaged(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()。

该接口还提供了函数和槽来帮助你修改大部分这些信息。唯一例外的是存储表单窗口的目录。最后,还有一些与上述信息更改以及表单窗口常规更改相关的信号。

另请参阅 QDesignerFormWindowCursorInterfaceQDesignerFormEditorInterfaceQDesignerFormWindowManagerInterface

成员类型文档

枚举 QDesignerFormWindowInterface::FeatureFlag
标志 QDesignerFormWindowInterface::Feature

这个枚举描述了由表单窗口接口可用并可以控制的特性。这些值在查询表单窗口时使用,以确定它支持哪些特性

常量描述
QDesignerFormWindowInterface::EditFeature0x01表单编辑
QDesignerFormWindowInterface::GridFeature0x02网格显示和编辑时的吸附网格功能
QDesignerFormWindowInterface::TabOrderFeature0x04Tab顺序管理
QDesignerFormWindowInterface::DefaultFeatureEditFeature | GridFeature支持默认特性(表单编辑和网格)

Feature 类型是 QFlags<FeatureFlag> 的 typedef。它存储了一个 FeatureFlag 值的 OR 组合。

另请参阅 hasFeature() 和 features

枚举 QDesignerFormWindowInterface::ResourceFileSaveMode

这个枚举描述了如何保存资源文件。

常量描述
QDesignerFormWindowInterface::SaveAllResourceFiles0保存所有资源文件。
QDesignerFormWindowInterface::SaveOnlyUsedResourceFiles1保存表单使用的资源文件。
QDesignerFormWindowInterface::DontSaveResourceFiles2不保存资源文件。

成员函数文档

[显式] 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 中指定的资源文件添加到表单使用的那些文件中。

另请参阅resourceFilesresourceFilesChanged

[纯虚函数] 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)

使用在 marginspacing 变量中指定的变量填充表单默认布局的默认边距和间距。

参见setLayoutDefault().

[纯虚函数] void QDesignerFormWindowInterface::layoutFunction(QString *margin, QString *spacing)

使用在 marginspacing 变量中指定的变量填充表单布局的当前边距和间距。

也请参阅 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 的资源文件。

另请参阅resourceFilesresourceFilesChanged

[纯虚函数] 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)

设置表单布局的默认 marginspacing

另见layoutDefault

[纯虚函数] void QDesignerFormWindowInterface::setLayoutFunction(const QString &margin, const QString &spacing)

设置表单布局的 marginspacing

uic 为表单生成代码时,默认布局属性将由相应的布局函数替换,即当指定了这些函数时。这适用于不同的环境需要同一表单的不同布局。

另见layoutFunction

[纯虚函数] void QDesignerFormWindowInterface::setMainContainer(QWidget *mainContainer)

将表单上的主容器小部件设置为指定的 mainContainer

另见mainContainerChanged

[纯虚函数] void QDesignerFormWindowInterface::setPixmapFunction(const QString &pixmapFunction)

将用于将位图加载到表单窗口中的函数设置为给定的 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. 在芬兰及其它国家和地区的商标。所有其他商标均为其各自所有者的财产。