You don't actually need to subclass QAbstractItemModel with your current approach. Your QList<SoundObject*> already acts as the model.
In fact, I want to use a QSortFilterProxyModel in C++ to filter what I want to display, and a TableView in QML to enable multiple selection, which is not available in ListView :(
So I had to subclass QAbstractItemModel, and add a custom role that I named "data", which returns the QObject*.
Thank you for everything, I'm going to implement this right away. If I find something useful, I will share it here. And if someone has another idea/vision of how to solve the problem, don't hesitate to share too !