作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我尝试使用 C++ 函数在我的 TableView 中选择单行。在文档中我找到了 property "selection"但是当我尝试在我的代码中使用它时,出现错误。
第一个问题。如何在我的 QML 代码中使用此属性?由于错误,这种方式不起作用:无效的属性分配:“selection”是只读属性
TableView{
....
selection.select(0)
}
我的第二个问题。如何通过 C++ 更改此属性?我知道我必须使用 setProperty() 方法,但第二个参数将是 function: select(0)?
最佳答案
来自 the documentation :
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/
我是一名优秀的程序员,十分优秀!