在QML中,ListView默认会高亮显示当前选定的项。你可以使用highlight属性来自定义高亮效果。以下是一个简单的示例:
ListView {
model: ["Item 1", "Item 2", "Item 3"]
delegate: Item {
width: parent.width
height: 30
Text {
text: modelData
}
// 自定义高亮效果
highlight: Rectangle {
color: listView.currentIndex === index ? "lightblue" : "transparent"
}
MouseArea {
anchors.fill: parent
onClicked: listView.currentIndex = index
}
}
}
在这个示例中,我们创建了一个ListView,并设置了模型为字符串数组。每个项都是一个Item,其中包含一个文本标签(Text)来显示相应的数据。我们通过highlight属性来定义高亮效果,如果该项的索引与当前选定项的索引相等,则将背景色设置为”lightblue”;否则设置为透明。
另外,我们还在每个项上添加了一个MouseArea,用于点击时更新当前选定项的索引。
你可以根据需要自定义highlight属性以实现不同的高亮效果。
内容由零声教学AI助手提供,问题来源于学员提问