Qt模型视图编程:创建索引

时间:2013-03-08 01:39:06

标签: qt

我正在阅读以下文档,以增加我对模型视图编程的理解:

http://qt-project.org/doc/qt-4.8/model-view-programming.html

虽然写得很好,但我有一个关于创建索引的问题。据我所知,计算和项目的索引我们需要其父项的索引。要计算父项的索引,我们需要子项的索引。所以它是循环依赖。你怎么打破它?

如果您按照以下部分进行操作:

  

行和列

     

该图显示了基本表模型的表示,其中每个项目由一对行号和列号定位。我们获得了一个   模型索引,通过传递相关行来引用数据项   和列号到模型。

 QModelIndex indexA = model->index(0, 0, QModelIndex());
 QModelIndex indexB = model->index(1, 1, QModelIndex());
 QModelIndex indexC = model->index(2, 1, QModelIndex());
  

通过将QModelIndex()指定为其父项,始终引用模型中的顶级项。这将在下面讨论   部分。

我不明白Qt如何知道计算A的索引,父索引应该是QModelIndex()(即顶级项目的索引)。

1 个答案:

答案 0 :(得分:0)

  

据我所知,计算和项目的索引我们需要索引   它的父项。

是的,除非它是顶级项目。

  

要计算父项的索引,我们需要子项的索引。

没有。索引不能包含多个父级,因此只需调用QModelIndex::parent() const