在QML中,如果你想为每个项添加勾选功能,可以使用Qt Quick Controls的Checkbox组件作为Item Delegate。以下是一个简单示例:
import QtQuick 2.15
import QtQuick.Controls 2.15
ListView {
width: 200
height: 300
model: ListModel {
ListElement { name: "Item 1"; checked: false }
ListElement { name: "Item 2"; checked: false }
ListElement { name: "Item 3"; checked: false }
}
delegate: Item {
width: parent.width
height: 40
Row {
spacing: 10
Checkbox {
id: checkbox
checked: model.checked
onCheckedChanged: {
// 更新模型中的checked属性
model.checked = checked;
}
}
Text {
text: model.name
verticalAlignment: Text.AlignVCenter
}
}
MouseArea {
anchors.fill: parent
onClicked: {
// 点击整个项时,切换checkbox状态
checkbox.checked = !checkbox.checked;
}
}
}
}
这样每个项就会显示一个带有文本和勾选框的行,并且点击行或勾选框都可以切换勾选状态。你可以根据自己的需求进行进一步定制和扩展。
内容由零声教学AI助手提供,问题来源于学员提问