如何在QML ListView中选择一些元素并将其索引发送到C ++代码?
我很确定没有办法使QML ListView可以多选。 Qt声明式专注于触摸屏的使用,在纯触摸UI中没有有意义的多选方法。
执行类似的操作:如果单击了元素,则将其属性设置为选定(或调用它),并在委托中设置为:如果selected为true,则应采用不同的格式。加上将其添加到一些列表中,以对其进行处理。
您可能会尝试获取ListItem的数据,并在单击时将其存储到数组中,而在单击时会从列表中删除ListItem的数据。可能是简单的锻炼,而不是创建类似项目的复选框列表。
我遇到了同样的问题,我发现实现它的最佳方法是为listview创建一个新角色。假设它是名字并且被选中或未被选中。您需要同时使用两者,因为如果滚动,这将更改项目并且不会被检测为单击。在这两种情况下,都可以将选定的角色更改为true,或者根据需要进行调整,可能是因为您不需要滚动选择
onCurrentIndexChanged:
{
mListModel.append({"firstName": newEntry,"selected":true})
}
和
onClicked:
{
mListModel.append({"firstName": newEntry,"selected":true})
}
然后您可以在修饰符中使用突出显示,这将根据所选状态更改颜色。