请详细讲解qml listview的selectionMode怎么设置
时间: 2024-05-12 16:19:10 浏览: 233
QML中的ListView控件有一个selectionMode属性,可以用来设置选择模式。selectionMode有三个可选的枚举值:ListView.NoSelection、ListView.SingleSelection和ListView.MultiSelection。
1. ListView.NoSelection:表示ListView不可选择。
2. ListView.SingleSelection:表示ListView只能选择一项。当用户点击某一项时,该项会被选中,而其他项则变为未选中状态。如果用户再次点击已选中的项,则该项将取消选中状态。
3. ListView.MultiSelection:表示ListView可以选择多项。用户可以通过按住Ctrl键并单击项来选择多项,也可以按住鼠标左键并拖动来选择多项。
下面是一个简单的例子,展示了如何设置ListView的selectionMode属性:
```
import QtQuick 2.0
ListView {
width: 200
height: 200
model: ["Apple", "Banana", "Cherry", "Durian", "Elderberry"]
// 设置为可以多选
selectionMode: ListView.MultiSelection
delegate: Rectangle {
width: parent.width
height: 30
color: ListView.isCurrentItem ? "lightgray" : "white"
border.color: "black"
Text {
text: modelData
anchors.centerIn: parent
}
}
}
```
在上面的例子中,我们设置了ListView的selectionMode为MultiSelection,表示可以多选。同时,在delegate中设置了当item被选中时,item的背景色会变成灰色,表示当前项。
阅读全文