For that kind of things the combo:
QListView
QStringListModel
QIdentityProxyModel << Customize the icons here

would do it in a simpler way.

As for items being QObject derived classes, rather not. The various QXXXItem classes must be as lightweight as possible since there can be several thousands of them and QObject has a cost and constraints. Except maybe in a few corner cases there would be no real benefit to have it there for the common usage.