Допустим есть класс Book. В нем хранится описание книги и QImage. Как мне переопределить методы QAbstractTableModel чтобы в первом столбце выводилось это изображение, а во втором - текст. Не проще ли будет использовать QAbstrctListModel и в нем изменить ItemDelegate. Как это сделать?
Наиболее простой вариант - использовать роль Qt::DecorationRole при формировании значения ячейки в функции QAbstractItemModel::data. С помощью этой роли можно выводить в ячейке QImage (еще можно QIcon или QPixmap) без использования специальных делегатов.
Конкретно вывод картинок, при обработке роли Qt::DecorationRole, выполняет стандартный QStyledItemDelegate, этот делегат работает по умолчанию в представлениях. Либо проследите, что делегат, который вы используете, корректно обрабатывает роль Qt::DecorationRole. Так например, другой стандартный делегат QItemDelegate, будет выводить только QIcon или QPixmap, а QImage не будет.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей