获取索引时qmodelindex的父参数

时间:2015-08-12 07:42:00

标签: c++ qt

以下是代码行:

QModelIndex id = tm->index(r, ec, QModelIndex());

所以我拥有自己的模型tm,我正在尝试访问其索引。 r代表行,ec代表列。我从示例中注意到他们在第三个参数上添加了QModelIndex()。第三个参数代表父索引。

tm只是一个简单的QTableView。是否真的有必要提供QModelIndex?我尝试阅读Qt手册但我似乎无法找到何时提供父索引的简单解释。

1 个答案:

答案 0 :(得分:2)

引用documentation

  

可以使用QModelIndex构造函数构造无效模型索引。在引用模型中的顶级项时,无效索引通常用作父索引。

     

...

     

模型中的每个顶级项都由没有父索引的模型索引表示 - 在这种情况下,parent()将返回无效的模型索引,相当于使用零参数形式构造的索引QModelIndex()构造函数。

因此,如果您没有嵌套数据(例如data({"total" : 100, "totalPage" : 10, "page" : 2, "items" : ["data"]}) 中),则父索引将永远是无效索引。

QAbstractItemModel::index的签名是:

QTableView

最后一个参数是可选的,在您的情况下,您可以省略它以提供无效的模型索引。