我尝试使用c ++函数在TableView中选择单行。在文档中我找到了property "selection"但是当我尝试在我的代码中使用它时,我收到了一个错误。
第一个问题。如何在我的QML代码中使用此属性?这种方式因错误而无效:无效的属性分配:"选择"是一个只读属性
TableView{
....
selection.select(0)
}
我的第二个问题。如何通过c ++更改此属性?我知道我必须使用setProperty()方法,但作为第二个参数将是函数:select(0)?
答案 0 :(得分:2)
tableview.selection.select(0) // select row index 0
tableview.selection.select(1, 3) // select row indexes 1, 2 and 3
tableview.selection.deselect(0, 1) // deselects row index 0 and 1
tableview.selection.deselect(2) // deselects row index 2
您无法从TableView的定义中执行此操作。您必须稍后从JavaScript执行此操作。为TableView分配ID并使用该ID,使用JavaScript选择适当的行。
修改强>
要从C ++开始,首先需要获得该对象的句柄。最好的方法是将objectName
属性分配给该元素,然后使用QObject::findChild()
查找它。一旦获得了指向TableView的指针,就可以调用其方法,如here所述。实际上,您首先需要获取其selection
属性,然后调用其(selection
' s)select()
方法。