QML stackview 切换示例代码
时间: 2024-09-19 12:06:30 浏览: 37
qt-quick QML页面跳转
QML StackView是一个用于垂直或水平分组内容的容器组件,它允许你轻松地切换显示的内容项。下面是一个简单的例子,展示了如何在StackView中添加两个Item,并通过信号和槽机制切换它们:
```qml
import QtQuick 2.0
import QtQuick.Controls 2.0
StackView {
id: stackView
anchors.fill: parent
spacing: 16
currentIndex: 0
// 添加两个Item到StackView
Item {
text: "Item 1"
width: parent.width
height: parent.height / 2
onClicked: stackView.currentIndex = 0
}
Item {
text: "Item 2"
width: parent.width
height: parent.height / 2
onClicked: stackView.currentIndex = 1
}
// 当栈中的当前索引改变时,更新UI
onCurrentIndexChanged: {
currentItem.styleSheet = currentIndex === 0 ? "background-color: blue" : "background-color: red";
}
}
```
在这个例子中,我们创建了一个StackView,当用户点击Item 1或Item 2时,`onClicked`信号会被触发,然后`currentIndex`属性会被设置为相应的值,导致对应的Item被显示。同时,我们还设置了`onCurrentIndexChanged`槽函数,每当栈的当前项变化时,会动态更改被选中Item的背景颜色。
阅读全文