目前所有复选框都是可勾选的。我只需要选中一个复选框。
TableView {
id: table
anchors.fill: parent
model: display_model
TableViewColumn {
role: "checkbox"
delegate: CheckBox {
id: delegate_chekbox
onCheckedChanged: {
console.log(model.index)
}
}
}
为了完整性:正如@StephenQuan 的评论中提到的,如果您只需要一个选定的项目,请使用 RadioButtons。这里有一个小例子:
TableView {
id: table
anchors.fill: parent
model: 10
delegate: RadioButton {
}
}
我想补充一点,期望的行为也可以通过复选框来实现。 CheckBox 继承了 AbstractButton,因此可以添加到 ButtonGroup。如果 ButtonGroup 将“exclusive”设置为 true(默认),则一次只能检查一个按钮。这也使您可以通过 ButtonGroup 组件轻松访问当前选中的按钮等。
TableView {
id: table
anchors.fill: parent
model: 10
delegate: CheckBox {
ButtonGroup.group: group
}
}
ButtonGroup {
id: group
exclusive: true //its default "true" so you don't really have to set this
}