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 から数えて削除されたノードのリスト内の位置が含まれます。