I do not know if the error is in new versions of Qt 4.8, but the sje397 solution does not work for me (in QTreeView).
I am using the best solution I have found to sort indexes in descending order and delete a row from the end to start.
QModelIndexList indexes = pTreeview->selectionModel()->selectedIndexes();
qSort(indexes.begin(), indexes.end(), qGreater<QModelIndex>());
for(iter = indexes.constBegin(); iter != indexes.constEnd(); ++iter){
pModels->removeRow((*iter).row(), (*iter).parent());
}
source
share