where a strict MVC separation is not that much of a concern.
To emphasise that - when building an MVC app, the QListWidget cannot have the model set - the setModel() method is private. You have to use QListView to get all the items to sync up.
QListWidget
setModel()
QListView