The QAbstractItemModel classes do not allow you to draw anything special, but they do simplify things A LOT when it comes to tree/list manipulations. So you could implement a QAbstractListModel for you application, since you need a list. Then you could implement a QAbstractItemDelegate to present the records in the list with custom widgets.
Read mode about model/view framework, and about delegation of item representation via custom widgets. There are plenty examples to cover this in Qt.
Bookmarks