qml StackView 前后翻页代码示例
时间: 2024-09-07 09:05:16 浏览: 32
`StackView` 是 QML 中用于管理视图堆栈的组件,允许用户通过简单的界面实现前后翻页的导航功能。基本的 `StackView` 使用示例如下:
```qml
import QtQuick 2.15
import QtQuick.Controls 2.15
ApplicationWindow {
visible: true
width: 640
height: 480
title: "StackView Example"
StackView {
id: stackView
anchors.fill: parent
}
Rectangle {
id: firstPage
width: 200
height: 200
color: "red"
Text {
anchors.centerIn: parent
text: "Page 1"
}
Button {
anchors.bottom: parent.bottom
text: "Go to Page 2"
onClicked: stackView.push(Qt.createQmlObject('''
import QtQuick 2.0
Rectangle {
width: 200; height: 200
color: "green"
Text {
anchors.centerIn: parent
text: "Page 2"
}
}
''', parent))
}
}
Rectangle {
id: secondPage
width: 200
height: 200
color: "blue"
Text {
anchors.centerIn: parent
text: "Page 2"
}
Button {
anchors.bottom: parent.bottom
text: "Go to Page 1"
onClicked: stackView.pop()
}
}
}
```
在这个例子中,`StackView` 被放置在应用程序窗口中,占据整个窗口的空间。第一个页面(`firstPage`)包含一个按钮,点击后会将第二个页面(`secondPage`)推入堆栈中。第二个页面同样包含一个按钮,用于将第一个页面弹出堆栈,实现返回操作。
阅读全文