【问题标题】:parent parameter for qmodelindex when getting the index获取索引时 qmodelindex 的父参数
【发布时间】:2015-08-12 07:41:59
【问题描述】:

这是代码行:

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

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

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

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    引用documentation:

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

    ...

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

    因此,如果您没有嵌套数据(例如在您的 QTableView 中),则父索引将始终是无效的。

    QAbstractItemModel::index的签名是:

    QModelIndex QAbstractItemModel::index(int row, int column, const QModelIndex & parent = QModelIndex()) const
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      • 1970-01-01
      • 2021-11-18
      • 2016-09-06
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多