Quote Originally Posted by castorvert
Well, I thought about it, and in my opinion, even if I don't define custom functions, it's better to subclass the view because when I create my object, I can define the delegate, the colour, the setDropEnabled ...
You don't have to subclass to do that. You use that view only once, so there is no point is subclassing.

I found sth strange : when I subclass QAbstractListModel, I have to subclass flags() to have Drag and drop enabled.
There is nothing strange in it. flags() from abstract item model just implements the most common behaviour. If you want to have a more complicated model, you have to reimplement flags() along with other modelling methods.