Есть модель таблицы, в которой описан метод удаления элемента
void TableModel::deleteItem(const QModelIndex &index)
{
...
beginRemoveRows(QModelIndex(), realParamIndex.row(), realParamIndex.row());
parameters_.erase(parameters_.begin() + index.row());
delete param;
endRemoveRows();
return true;
}
метод работает на ура, но когда необходимо удалить несколько выделеных элементов происходит следующее. Элементы в TreeView удаляются но на их месте остаётся одна пустая строка.
Удалением нескольких индексов занимается метод:
bool TableModel::deleteItems(const QModelIndexList &indexes)
{
for(int i=0; i<indexes.size(); i++)
deleteItem(indexes[i]);
return true;
}