QML 控件—容器控件(ApplicationWindow)
导入import QtQuick.Controls 2.1继承WindowPropertiesactiveFocusControl: Controlbackground: ItemcontentData: list< Object>contentItem: Itemfont: fontfooter: Itemheader: Itemlocale: LocalemenuBar: Item
导入 | import QtQuick.Controls 2.1 |
---|---|
继承 | Window |
Properties
- activeFocusControl : Control
- background : Item
- contentData : list< Object>
- contentItem : Item
- font : font
- footer : Item
- header : Item
- locale : Locale
- menuBar : Item
Attached Properties
- activeFocusControl : Control
- contentItem : Item
- footer : Item
- header : Item
- menuBar : Item
- window : ApplicationWindow
细节描述
ApplicationWindow是一个窗口,它可以方便地添加一个menu bar(菜单栏),header(页眉)和footer(页脚)到窗口。
您可以声明ApplicationWindow作为应用程序的根项目,并使用QQmlApplicationEngine运行它。通过这种方式,您可以从QML控制窗口的属性、外观和布局。
ApplicationWindow {
visible: true
menuBar: MenuBar {
// ...
}
header: ToolBar {
// ...
}
footer: TabBar {
// ...
}
StackView {
anchors.fill: parent
}
}
注意:默认情况下,ApplicationWindow是不可见的。
由于作用域和命名解析在QML中的工作方式,可以在其子QML对象的任何地方引用应用程序根元素的id。尽管这种方法对于许多应用程序和用例来说都很好,但是对于通用QML组件来说,它可能是不可接受的,因为它创建了对周围环境的依赖关系。
ApplicationWindow提供了一组附加的属性,可以使用这些属性从无法直接访问窗口的地方访问窗口及其构建块,而无需创建对特定窗口id的依赖关系。使用ApplicationWindow附加属性的QML组件可以在任何窗口中工作,而不管它的id是什么。
属性
activeFocusControl : Control
此属性保存当前具有活动焦点的控件,如果没有活动焦点的控件则为空。
Window::activeFocusItem和ApplicationWindow::activeFocusControl之间的区别在于前者可能指向控件的构建块,而后者指向封闭的控件。例如,当SpinBox有焦点时,activeFocusItem指向编辑器,而activeFocusControl指向SpinBox本身。
background : Item
此属性保存背景项。
背景项被堆叠在内容项之下,但在窗口背景色之上。
例如,背景项对于图像和渐变是有用的,但是color属性对于纯色是更好的,因为它不需要创建一个项。
注意:如果背景项没有明确指定大小,它会自动跟随控件的大小。在大多数情况下,不需要为背景项指定宽度或高度。
contentData : list< Object>
这个默认属性保存所有声明为窗口子对象的列表。
data属性允许你在ApplicationWindow中自由混合可视的子窗口、资源和其他窗口。
如果您将一个Item分配给contentData列表,它将成为窗口的contenttem的一个子元素,这样它就会出现在窗口内部。该项的父项将是窗口的contententitem。
通常不需要引用contentData属性,因为它是ApplicationWindow的默认属性,因此所有的子项目都会自动分配给这个属性。
contentItem : Item
此属性保存窗口内容项。
内容项堆叠在背景项之上,在menu bar(菜单栏),header(页眉)和footer(页脚)之下。
font : font
此属性保存当前为窗口设置的字体。
默认字体取决于系统环境。QGuiApplication维护了一个系统/主题字体,作为所有应用程序窗口的默认字体。在加载任何QML之前,你也可以通过将自定义字体传递给QGuiApplication::setFont()来设置windows的默认字体。最后,将字体与Qt的字体数据库进行匹配,以找到最佳匹配。
ApplicationWindow将显式字体属性传播到子控件。如果更改窗口字体上的特定属性,则该属性将传播到所有子控件
footer : Item
此属性保存窗口页脚项。页脚项被定位到底部,并根据窗口的宽度调整大小。缺省值为空。
ApplicationWindow {
footer: ToolBar {
// ...
}
}
注意:指定一个ToolBar, TabBar,或DialogButtonBox作为窗口的页脚会自动将各自的ToolBar::position, TabBar::position,或DialogButtonBox::position属性设置为footer。
header : Item
此属性保存窗口头项。标题项定位在窗口的顶部,菜单栏下方,并调整大小为窗口的宽度。缺省值为空。
ApplicationWindow {
header: TabBar {
// ...
}
}
注意:指定一个ToolBar, TabBar,或DialogButtonBox作为窗口头自动设置相应的ToolBar::position, TabBar::position,或DialogButtonBox::position属性为header。
locale : Locale
此属性保存窗口的区域设置。
默认区域设置取决于系统环境。您可以在加载任何QML之前,通过调用QLocale::setDefault()来设置默认区域设置。
ApplicationWindow将区域设置传播给子控件。如果更改窗口的区域设置,该区域设置将传播到窗口中的所有子控件,覆盖系统默认区域设置。
menuBar : Item
此属性保存窗口菜单栏。菜单栏定位于窗口的顶部,位于页眉上方,并调整其大小为窗口的宽度。缺省值为空。
ApplicationWindow {
menuBar: MenuBar {
// ...
}
}
这个属性是在QtQuick.Controls 2.3(Qt 5.10)。
附加属性
activeFocusControl : Control
此附加属性保存当前具有活动焦点的控件,如果没有活动焦点的控件则为空。该属性可以附加到任何项。如果项目不在窗口中,或者窗口没有活动的焦点,则该值为空。
contentItem : Item
此附加属性保存窗口内容项。该属性可以附加到任何项。如果该项目不在ApplicationWindow中,则该值为空。
footer : Item
此附加属性保存窗口页脚项。该属性可以附加到任何项。如果该项目不在ApplicationWindow中,或者该窗口没有页脚项目,则该值为空。
header : Item
此附加属性保存窗口头项。该属性可以附加到任何项。如果该项目不在ApplicationWindow中,或者该窗口没有头项,则该值为空。
menuBar : Item
此附加属性保存窗口菜单栏。该属性可以附加到任何项。如果该项目不在ApplicationWindow中,或者该窗口没有菜单栏,则该值为空。
这个属性是在QtQuick.Controls 2.3(Qt 5.10)。
window : ApplicationWindow
此附加属性保存应用程序窗口。该属性可以附加到任何项。如果该项目不在ApplicationWindow中,则该值为空。
更多推荐
所有评论(0)