ApplicationWindow 继承自 Window,可以方便地向窗口添加菜单栏、页眉和页脚项。
可以将ApplicationWindow 声明为应用程序的根项,并使用 QQmlApplicationEngine 运行它。 通过这种方式,可以从 QML 控制窗口的属性、外观和布局。
import QtQuick.Controls 2.12
ApplicationWindow {
visible: true
menuBar: MenuBar {
// ...
}
header: ToolBar {
// ...
}
footer: TabBar {
// ...
}
StackView {
anchors.fill: parent
}
}
1、[read-only] activeFocusControl : Control
当前具有活动焦点的控件,如果没有具有活动焦点的控件,则为 null。
Window::activeFocusItem 和 ApplicationWindow::activeFocusControl 之间的区别在于,前者可能指向控件的构建块,而后者指向外围控件。 例如,当 SpinBox 具有焦点时,activeFocusItem 指向编辑器,而 activeFocusControl 指向 SpinBox 本身。
2、background : Item
背景项目。背景项目堆叠在 contentItem 之下,但在窗口背景颜色( color )之上。
背景项目对于图像和渐变很有用,但颜色属性更适合纯色,因为它不需要创建项目。
如果背景项没有明确指定大小,它会自动遵循控件的大小。在大多数情况下,不需要为背景项目指定宽度或高度。
3、[default] contentData : list
声明为窗口子项的所有对象的列表。
一个 Item 分配给 contentData,它将成为窗口 contentItem 的子项,因此将出现在窗口内。
通常不需要引用 contentData 属性,因为它是 ApplicationWindow 的默认属性,因此所有子项都会自动分配给此属性。
4、[read-only] contentItem : Item
窗口内容项。内容项堆叠在背景项之上,见上图。
5、font : font
当前为窗口设置的字体。
默认字体取决于系统环境。 QGuiApplication 维护一个系统/主题字体,作为所有应用程序窗口的默认字体。在加载任何 QML 之前,还可以通过将自定义字体传递给 QGuiApplication::setFont() 来设置 Windows 的默认字体。 最后,将字体与 Qt 的字体数据库进行匹配以找到最佳匹配。
ApplicationWindow 将显式字体属性传播到子控件。如果更改窗口字体的特定属性,该属性将传播到窗口中的所有子控件,覆盖该属性的任何系统默认值。
6、footer : Item
窗口页脚项。页脚项目位于底部,并调整为窗口的宽度。默认值为空。
ApplicationWindow {
footer: ToolBar {
// ...
}
}
注意:将 ToolBar、TabBar 或 DialogButtonBox 指定为窗口页脚会自动将各自的 ToolBar::position、TabBar::position 或 DialogButtonBox::position 属性设置为 Footer。
7、header : Item
窗口标题项。标题项位于窗口顶部、菜单栏下方,并调整为窗口宽度。 默认值为空。
ApplicationWindow {
header: TabBar {
// ...
}
}
注意:将 ToolBar、TabBar 或 DialogButtonBox 指定为窗口标题会自动将各自的 ToolBar::position、TabBar::position 或 DialogButtonBox::position 属性设置为 Header。
8、locale : Locale
窗口的语言环境。
默认语言环境取决于系统环境。在加载任何 QML 之前,可以通过调用 QLocale::setDefault() 来设置默认语言环境。
ApplicationWindow 将区域设置传播到子控件。如果更改窗口的区域设置,该区域设置将传播到窗口中的所有子控件,覆盖系统默认区域设置。
9、menuBar : Item
窗口菜单栏。菜单栏位于窗口顶部、标题上方,并调整为窗口宽度。 默认值为空。
ApplicationWindow {
menuBar: MenuBar {
// ...
}
}
1、ApplicationWindow.activeFocusControl : Control
此附加属性保存当前具有活动焦点的控件,如果被附件项没有具有活动焦点的控件,则为 null。如果项目不在窗口中,或者窗口没有活动焦点,则该值为 null。
2、ApplicationWindow.contentItem : Item
此附加属性保存窗口内容项。如果被附件项不在 ApplicationWindow 中,则该值为 null。
3、ApplicationWindow.footer : Item
此附加属性包含窗口页脚项。如果被附件项不在 ApplicationWindow 中,或者窗口没有页脚项,则该值为 null。
4、ApplicationWindow.header : Item
此附加属性包含窗口标题项。如果被附件项不在 ApplicationWindow 中,或者窗口没有标题项,则该值为 null。
5、ApplicationWindow.menuBar : Item
此附加属性包含窗口菜单栏。如果被附件项不在 ApplicationWindow 中,或者该窗口没有菜单栏,则该值为 null。
6、ApplicationWindow.window : ApplicationWindow
此附加属性包含应用程序窗口。如果被附件项不在 ApplicationWindow 中,则该值为 null。