QML点击ListView某项后,之前点击的关闭
时间: 2024-04-26 18:03:37 浏览: 169
QML ListView
5星 · 资源好评率100%
可以通过绑定ListView的currentItem属性来实现。具体做法如下:
1. 在ListView中添加一个属性currentItem保存当前选中的项:
```
ListView {
id: listView
property Item currentItem: null
// ...
}
```
2. 在每个项上添加一个点击事件处理函数,将当前选中的项设为当前项:
```
Component {
id: myItemDelegate
Item {
// ...
MouseArea {
anchors.fill: parent
onClicked: {
listView.currentItem = parent
// ...
}
}
}
}
```
3. 在ListView的currentItem属性变化时,关闭之前选中的项:
```
onCurrentItemChanged: {
if (currentItem !== null && currentItem !== previousItem) {
previousItem.close()
}
}
```
其中close()是自定义的关闭函数,根据具体情况实现。
阅读全文