我尝试使用 C++ 函数在 TableView 中选择单行。在文档中我发现 property "selection"但是当我尝试在代码中使用它时,我收到错误。
第一个问题。如何在我的 QML 代码中使用此属性?这种方式不起作用,因为错误:属性分配无效:“选择”是只读属性
TableView{
....
selection.select(0)
}
我的第二个问题。如何通过c++改变这个属性?我知道我必须使用 setProperty() 方法,但作为第二个参数将是 function: select(0)?
最佳答案
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
)select()
方法。
关于c++ - 如何从 C++ 中选择 TableView (qml) 中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25414067/