с определенной периодичностью запрашиваю данные с сервера
Удаляю вот так вот:
покажу полный стек вызовов
1) метод bool isChildrenChange() {
//где то в дебрях кода, когда я нахожу сколько добавилось, а сколько ушло
if (added > 0 || deleted > 0)
{
if (added > deleted)
{
emit sg_addedChildren(added - deleted, this);
return true;
}
if (deleted > added)
{
emit sg_removeChildren(deleted - added, this);
return true;
}
return false;
}
return false;
2) в этом же классе
void sl_removeChildren(int count, ItreeItem* item)
{
//отправить что дерево где то изменилось
//emit
ItreeItem* _item = item;
while (_item->getParent()->getParent())
_item = _item->getParent();
//ибо я подписал только рутовый элемент на изменение
emit _item->sg_removeChildren(count, item);
//_item->sg_removeChildren(count, item);
}
3) дальше идет QAbstractItemModel
sl_removeChildren(int count, ItreeItem* parent)
{
QModelIndex parentIndex = QModelIndex();
parentIndex = createIndex(parent->getParent()->indexOfChild(parent), 0, parent);
beginRemoveRows(parentIndex, 0, count - 1);
endRemoveRows();
}
вот, тут что то не так с индексами, потому что когда я заново добавляю, индексы остаются