StackView 可以与一组页面使用,用于切换页面
以下代码段演示了一个简单的用例,其中 mainView 在相关按钮单击时被推送到堆栈中并从堆栈中弹出:
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Layouts 1.12
import QtQml 2.12
import QtQuick.Controls 2.5
Window {
id:root
width: 400
height: 300
visible: true
title: qsTr("Hello World")
StackView {
id: stack
initialItem: mainView
anchors.fill: parent
}
Component {
id: mainView
Row {
spacing: 10
Button {
text: "Push"
onClicked: stack.push(mainView)
}
Button {
text: "Pop"
enabled: stack.depth > 1
onClicked: stack.pop()
}
Text {
text: stack.depth
}
}
}
}
initialItem : var
这个属性保存了StackView创建时应该显示的初始项。初始项目可以是一个项目、组件或url。指定初始项相当于:
Component.onCompleted: stackView.push(myInitialItem)