2

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

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() (即顶级项目的索引)。

4

1 回答 1

0

据我了解计算和项目的索引,我们需要其父项目的索引。

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

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

不可以。一个索引不能有多个父级,所以只需调用QModelIndex::parent() const.

于 2013-03-08T08:22:13.933 回答