QTreeView / QAbstractItemModel - добавление элементов и использование beginInsertRows - PullRequest
4 голосов
/ 13 сентября 2011

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

1 Ответ

3 голосов
/ 13 сентября 2011

Да, все.

Это был ваш единственный вопрос?

...