Я не знаю, возможно ли это с помощью QListWidget, потому что я никогда этого не делал.Тем не менее, я делаю это с QListView и пользовательской моделью и делегатом.Суть этого выглядит так:
Внутри моего кастома QAbstractListModel :
QVariant data(const QModelIndex &index, int role) const
{
if(index.isValid())
{
switch(role)
{
case MyCustomRole:
return QVariant(*pointerToMyQPixmap);
break;
...
Внутри моего кастома QStyledItemDelegate :
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
...
// Best make DAMN sure it's not null else we will crash and burn.
QPixmap pix = index.data(myCustomRole).value<QPixmap>();
painter->drawPixmap(1, 1, pix);
...
На мой взгляд, инфраструктура Model / View в Qt отчасти хромая, но пока они не придут в себя, вам придется кое-что узнать, если вы хотите что-то, кроме базовых функций встроенных виджетов, которые они предоставляют вфреймворк.Другими словами, если вам нужна дополнительная функциональность с QListWidget, вам нужно изучить QListView и реализовать свою собственную модель и представление
http://qt -project.org / doc/qt-4.8/qlistview.html#details