Я реализую свою модель на основе 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.