应用程序窗口 QML 类型
带支持标题和页脚的样式化顶层窗口。 更多信息...
导入语句 | import QtQuick.Controls |
继承 |
属性
- activeFocusControl : Control
- background : Item
- contentData : list<QtObject>
- contentItem : Item
- font : font
- footer : Item
- header : Item
- locale : Locale
- menuBar : Item
(自 QtQuick.Controls 2.3 (Qt 5.10) 以来)
关联属性
- activeFocusControl : Control
- contentItem : Item
- footer : Item
- header : Item
- menuBar : Item
(自 QtQuick.Controls 2.3 (Qt 5.10) 以来)
- window : ApplicationWindow
详细描述
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::activeFocusItem与ApplicationWindow::activeFocusControl之间的区别在于,前者可能指向控件的构建块,而后者指向封装控件。例如,当SpinBox具有焦点时,activeFocusItem指向编辑器,而activeFocusControl指向SpinBox本身。
另请参阅 Window::activeFocusItem。
background : Item |
该属性持有背景项。
背景项堆叠在contentItem下,但在窗口的背景颜色之上。
背景项对于图像和渐变非常有用,例如,但是对于纯色,color属性更可取,因为它不需要创建项。
注意: 如果背景项没有显式指定大小,它将自动遵循控件的大小。在大多数情况下,没有必要为背景项指定宽度或高度。
另请参阅 自定义ApplicationWindow,contentItem,header,以及footer。
该默认属性保存了窗口的所有对象的声明列表。
数据属性允许您在ApplicationWindow中自由混合视觉子项、资源和其他窗口。
如果您将项目分配给contentData列表,它将成为窗口contentItem的子项,因此它将显示在窗口内部。该项目的父项将是窗口的contentItem。
通常没有必要引用contentData属性,因为它是ApplicationWindow的默认属性,因此所有子项都自动分配给此属性。
另请参阅 contentItem。
font : 字体 |
此属性用于存储窗口当前设置的字体。
默认字体取决于系统环境。QGuiApplication维护一个系统/主题字体,该字体作为所有应用程序窗口的默认值。您也可以通过在加载任何QML之前将自定义字体传递给QGuiApplication::setFont()来设置窗口的默认字体。最后,字体与Qt的字体数据库进行匹配,找出最佳匹配项。
ApplicationWindow将显式字体属性传播到子控件。如果您更改窗口字体的特定属性,该属性将传播到窗口中的所有子控件,覆盖任何系统对该属性的默认设置。
footer : 项目 |
此属性用于存储窗口页脚项目。页脚项目定位在底部,并调整大小以与窗口宽度一致。默认值是null
。
ApplicationWindow { footer: ToolBar { // ... } }
注意将工具栏、标签栏或对话框按钮框作为窗口页脚时,将自动将相应的ToolBar::position、TabBar::position或DialogButtonBox::position属性设置为Footer
。
另见菜单栏、标题栏和Page::footer。
header : 项目 |
此属性用于存储窗口标题栏项目。标题栏项目定位在窗口顶部以下,菜单栏下方,并调整大小以与窗口宽度一致。默认值是null
。
ApplicationWindow { header: TabBar { // ... } }
注意将工具栏、标签栏或对话框按钮框作为窗口标题栏时,将自动将相应的ToolBar::position、TabBar::position或DialogButtonBox::position属性设置为Header
。
另见菜单栏、页脚和Page::header。
locale : 区域设置 |
此属性用于存储窗口的区域设置。
默认的区域设置取决于系统环境。您可以通过在加载任何QML之前调用QLocale::setDefault()来设置默认的区域设置。
ApplicationWindow将区域设置传播到子控件。如果您更改窗口的区域设置,该区域设置将传播到窗口中的所有子控件,覆盖系统默认区域设置。
菜单栏 : Item |
此属性包含窗口菜单栏。菜单栏位于窗口顶部,位于标题栏之上,并调整到窗口宽度。默认值为 null
。
ApplicationWindow { menuBar: MenuBar { // ... } }
此属性在 QtQuick.Controls 2.3 (Qt 5.10) 中引入。
附加属性文档
ApplicationWindow.activeFocusControl : Control |
此附加属性包含当前具有活动焦点控件,或者在没有具有活动焦点控件的情况下为 null
。该属性可以附加到任何项目。如果项目不在窗口中或窗口没有活动焦点,则该值是 null
。
ApplicationWindow.menuBar : Item |
此附加属性包含窗口菜单栏。该属性可以附加到任何项。如果项不在应用程序窗口中,或者窗口没有菜单栏,则该值是 null
。
此属性在 QtQuick.Controls 2.3 (Qt 5.10) 中引入。
ApplicationWindow.window : ApplicationWindow |
此附加属性包含应用程序窗口。该属性可以附加到任何项。如果项不在应用程序窗口中,则该值是 null
。
© 2024 Qt公司有限。此处包含的文档贡献均为各自所有者的版权。提供的文档根据自由软件基金会的版本1.3的GNU自由文档许可协议进行许可。Qt及其相关标志是芬兰以及/或其他世界各地的Qt公司有限责任公司的商标。所有其他商标均为其各自所有者的财产。