应用程序窗口 QML 类型

带支持标题和页脚的样式化顶层窗口。 更多信息...

导入语句import QtQuick.Controls
继承

Window

属性

关联属性

详细描述

ApplicationWindow 是一个 Window,使得向窗口添加 菜单栏标题栏页脚 元素变得方便。

您可以将 ApplicationWindow 声明为应用程序的根元素,并通过使用 QQmlApplicationEngine 来运行它。这样,您就可以使用 QML 控制窗口的属性、外观和布局。

import QtQuick.Controls 2.12

ApplicationWindow {
    visible: true

    menuBar: MenuBar {
        // ...
    }

    header: ToolBar {
        // ...
    }

    footer: TabBar {
        // ...
    }

    StackView {
        anchors.fill: parent
    }
}

注意:默认情况下,ApplicationWindow是不可见的。

关联应用程序窗口属性

由于 QML 中 作用域和命名解析 的方式,可以在应用程序根元素的子 QML 对象的任何地方引用其 id。尽管这种方法对于许多应用程序和使用场景来说是可行的,但对于一个通用的 QML 组件来说,它可能不可接受,因为它会在周围环境中创建依赖项。

ApplicationWindow提供了一些附加属性,可以用于从不可直接访问窗口的地方访问窗口及其构建块,而不需要创建对特定窗口ID的依赖id。使用ApplicationWindow附加属性的QML组件可以在任何窗口中都正常工作,无论其id是什么。

另请参阅 自定义ApplicationWindow叠加层页面容器控件,以及Qt Quick Controls中的焦点管理

属性文档

activeFocusControl : Control [只读]

该属性持有当前具有活动焦点的控件,如果没有控件具有活动焦点则为null

Window::activeFocusItemApplicationWindow::activeFocusControl之间的区别在于,前者可能指向控件的构建块,而后者指向封装控件。例如,当SpinBox具有焦点时,activeFocusItem指向编辑器,而activeFocusControl指向SpinBox本身。

另请参阅 Window::activeFocusItem


background : Item

该属性持有背景项。

背景项堆叠在contentItem下,但在窗口的背景颜色之上。

背景项对于图像和渐变非常有用,例如,但是对于纯色,color属性更可取,因为它不需要创建项。

注意: 如果背景项没有显式指定大小,它将自动遵循控件的大小。在大多数情况下,没有必要为背景项指定宽度或高度。

另请参阅 自定义ApplicationWindowcontentItemheader,以及footer


contentData : list<QtObject> [默认]

该默认属性保存了窗口的所有对象的声明列表。

数据属性允许您在ApplicationWindow中自由混合视觉子项、资源和其他窗口。

如果您将项目分配给contentData列表,它将成为窗口contentItem的子项,因此它将显示在窗口内部。该项目的父项将是窗口的contentItem

通常没有必要引用contentData属性,因为它是ApplicationWindow的默认属性,因此所有子项都自动分配给此属性。

另请参阅 contentItem


contentItem : Item [只读]

该属性持有窗口内容项。

内容项堆叠在背景项上方,同时在菜单栏标题栏页脚项下方。

另见背景菜单栏标题栏页脚


font : 字体

此属性用于存储窗口当前设置的字体。

默认字体取决于系统环境。QGuiApplication维护一个系统/主题字体,该字体作为所有应用程序窗口的默认值。您也可以通过在加载任何QML之前将自定义字体传递给QGuiApplication::setFont()来设置窗口的默认字体。最后,字体与Qt的字体数据库进行匹配,找出最佳匹配项。

ApplicationWindow将显式字体属性传播到子控件。如果您更改窗口字体的特定属性,该属性将传播到窗口中的所有子控件,覆盖任何系统对该属性的默认设置。

另见Control::font


此属性用于存储窗口页脚项目。页脚项目定位在底部,并调整大小以与窗口宽度一致。默认值是null

ApplicationWindow {
    footer: ToolBar {
        // ...
    }
}

注意工具栏标签栏对话框按钮框作为窗口页脚时,将自动将相应的ToolBar::positionTabBar::positionDialogButtonBox::position属性设置为Footer

另见菜单栏标题栏Page::footer


header : 项目

此属性用于存储窗口标题栏项目。标题栏项目定位在窗口顶部以下,菜单栏下方,并调整大小以与窗口宽度一致。默认值是null

ApplicationWindow {
    header: TabBar {
        // ...
    }
}

注意工具栏标签栏对话框按钮框作为窗口标题栏时,将自动将相应的ToolBar::positionTabBar::positionDialogButtonBox::position属性设置为Header

另见菜单栏页脚Page::header


locale : 区域设置

此属性用于存储窗口的区域设置。

默认的区域设置取决于系统环境。您可以通过在加载任何QML之前调用QLocale::setDefault()来设置默认的区域设置。

ApplicationWindow将区域设置传播到子控件。如果您更改窗口的区域设置,该区域设置将传播到窗口中的所有子控件,覆盖系统默认区域设置。

另见Control::locale


此属性包含窗口菜单栏。菜单栏位于窗口顶部,位于标题栏之上,并调整到窗口宽度。默认值为 null

ApplicationWindow {
    menuBar: MenuBar {
        // ...
    }
}

此属性在 QtQuick.Controls 2.3 (Qt 5.10) 中引入。

另请参阅标题栏页脚菜单栏


附加属性文档

ApplicationWindow.activeFocusControl : Control [只读]

此附加属性包含当前具有活动焦点控件,或者在没有具有活动焦点控件的情况下为 null。该属性可以附加到任何项目。如果项目不在窗口中或窗口没有活动焦点,则该值是 null

另请参阅Window::activeFocusItem附加ApplicationWindow属性


ApplicationWindow.contentItem : Item [只读]

此附加属性包含窗口内容项。该属性可附加到任何项。如果项不在应用程序窗口中,则该值是 null

另请参阅附加ApplicationWindow属性


此附加属性包含窗口页脚项。该属性可以附加到任何项。如果项不在应用程序窗口中,或者窗口没有页脚项,则该值是 null

另请参阅附加ApplicationWindow属性


ApplicationWindow.header : Item [只读]

此附加属性包含窗口抬头栏项。该属性可以附加到任何项。如果项不在应用程序窗口中,或者窗口没有抬头栏项,则该值是 null

另请参阅附加ApplicationWindow属性


此附加属性包含窗口菜单栏。该属性可以附加到任何项。如果项不在应用程序窗口中,或者窗口没有菜单栏,则该值是 null

此属性在 QtQuick.Controls 2.3 (Qt 5.10) 中引入。

另请参阅附加ApplicationWindow属性


ApplicationWindow.window : ApplicationWindow [只读]

此附加属性包含应用程序窗口。该属性可以附加到任何项。如果项不在应用程序窗口中,则该值是 null

另请参阅附加ApplicationWindow属性


© 2024 Qt公司有限。此处包含的文档贡献均为各自所有者的版权。提供的文档根据自由软件基金会的版本1.3的GNU自由文档许可协议进行许可。Qt及其相关标志是芬兰以及/或其他世界各地的Qt公司有限责任公司的商标。所有其他商标均为其各自所有者的财产。