Quote Originally Posted by flashmozzg View Post
My point is: why not have the same mechanism for deleting/adding items as there is for setting items?
Because there is no standard way to do this.

Currently if the right flag is passed and setData is implemented you can modify item properties corresponding to roles.
You have fixated yourself on using editable QAbstractItemModel subclasses. This is a miniscule of models used in QML.

I don't see why you can't in the same they if removeRows/Columns implemented remove items.
Because in case of editing you are not accessing the model but rather a special object which internally has C++ access to the model. This special proxy represents a single record in the model. It would be counter-intuitive to equip the record with abilities to add other records to a model or remove other records from the model.

My app is in QtQuick so I'm obviously using qml ListView.
I don't see how that matters. Check the model with a QListView to see if it is updated when you call the method which you say doesn't work if you call it from QtQuick.