4

QAbstractItemModel に基づいてモデルを実装しており、それを QTreeView と共に使用して階層データを表示しています。データは sqlite テーブルに格納されます。

私の質問は、サブノードを追加するときに beginInsertRows を呼び出す方法です。親ノードがあり、10 個のサブノードが含まれているとします。そして、新しいサブノードを(最後に)追加したいと思います。

私はこのようにやっています:

beginInsertRows(parentIndex, currentNodesCount, currentNodesCount);
// actual inserting
endInsertRows()

currentNodesCount には、このサブノードの行数である値 10 が含まれています。新しいノードは 11 番目の位置 (0 から数えて 10 番目) に配置されます。

この論理は正しいですか?

手伝ってくれてありがとう。


beginRemoveRows の使用についても疑問に思っています。

これは正しいです:

beginRemoveRows(parentIndex, currentRow, currentRow);
// delete record
endRemoveRows();

currentRow には、0 から数えて削除されたノードのリスト内の位置が含まれます。

4

1 に答える 1

3

はい、それだけです。

質問はこれだけでしたか?

于 2011-09-13T15:00:51.060 に答える