Я реализую свою модель на основе QAbstractItemModel и использую ее с QTreeView для отображения иерархических данных. Данные хранятся в таблице sqlite.
У меня вопрос, как мне вызвать beginInsertRows при добавлении подузлов. Допустим, у меня есть родительский узел, он содержит 10 подузлов. И я хочу добавить новый подузел (в конце).
Я делаю так:
beginInsertRows(parentIndex, currentNodesCount, currentNodesCount);
// actual inserting
endInsertRows()
currentNodesCount содержит значение 10, которое представляет собой количество строк в этом подузле. Новый узел будет размещен на 11-й позиции (10-й отсчет от 0).
Эта логика верна?
Спасибо за помощь.
Мне интересно также использовать beginRemoveRows.
Это верно:
beginRemoveRows(parentIndex, currentRow, currentRow);
// delete record
endRemoveRows();
currentRow содержит позицию в списке удаленных узлов, начиная с 0.