Quote Originally Posted by RolandHughes View Post
Does the default implementation of QTableView ignore beginRemove() and endRemove()?
No, it doesn't. beginRemove*() and endRemove*() cause persistent indexes to be updated and then emit respective (rows|columns)Removed() signals.

wysota@Teletraan3:~/kompilacje/qt-everywhere-opensource-src-4.8.6/src/gui/itemviews$ grep rowsRemoved qtableview.cpp
disconnect(d->model, SIGNAL(rowsRemoved(QModelIndex,int,int)),
connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)),