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 に答える