以下是代码行:
QModelIndex id = tm->index(r, ec, QModelIndex());
所以我拥有自己的模型tm
,我正在尝试访问其索引。 r
代表行,ec
代表列。我从示例中注意到他们在第三个参数上添加了QModelIndex()
。第三个参数代表父索引。
tm
只是一个简单的QTableView
。是否真的有必要提供QModelIndex
?我尝试阅读Qt手册但我似乎无法找到何时提供父索引的简单解释。
答案 0 :(得分:2)
可以使用QModelIndex构造函数构造无效模型索引。在引用模型中的顶级项时,无效索引通常用作父索引。
...
模型中的每个顶级项都由没有父索引的模型索引表示 - 在这种情况下,parent()将返回无效的模型索引,相当于使用零参数形式构造的索引QModelIndex()构造函数。
因此,如果您没有嵌套数据(例如data({"total" : 100, "totalPage" : 10, "page" : 2, "items" : ["data"]})
中),则父索引将永远是无效索引。
QAbstractItemModel::index
的签名是:
QTableView
最后一个参数是可选的,在您的情况下,您可以省略它以提供无效的模型索引。