I think that depends on src data, if "layout/structure" of it is in table meaner so it's only natural to go wit TableModel. Also If you need some special/custom functionality subclassing model is a way to go.
For example, here is a QStandardItemModel with different views.
Snap4..jpg Snap1..jpg Snap3..jpg
As you can see I used ComboBox/ListView(icon mode) / TableView and everything looks nice. I stored data and setup views to display data that is needed at the time. I prepared in advance (when populating model) all the data that I need and only retrieve them when needed.
Also, when adding data to the model, You can specify the role that data can perform, so View know how to handle them, i.e. for QImage I added QtecorationRole, and for QString Qt:
isplayRole so views know haw to process them.
I hope this shed some light of the subject
Regards.
Bookmarks