tags:

views:

299

answers:

1

Using a QListView, and QStandardItemModel, is it possible to display icons in the list view without displaying the associated text? QStandardItem is defined as so:

QStandardItem ( const QIcon & icon, const QString & text ) 

So it seems to require a text string of some sort - I only want the icon displayed. If I use the following code, I get the icons as requested, but I also get a blank text element underneath them. I don't want this.

ImageListView->setViewMode( QListView::IconMode );
{
     QStandardItemModel *iStandardModel = new QStandardItemModel(this);
     QStandardItem* item1 = new QStandardItem(QIcon("images/shield-280x280.png"),"");
     QStandardItem* item2 = new QStandardItem(QIcon("images/shield-280x280.png"),"");

     iStandardModel->appendRow(item1);
     iStandardModel->appendRow(item2);
     ImageListView->setIconSize(QSize(100,100));
     ImageListView->setUniformItemSizes(true);
     ImageListView->setDragDropMode(QAbstractItemView::DropOnly);
     ImageListView->setModel(iStandardModel);
}

If I go to the trouble of building a custom model, can I resolve this issue?

+1  A: 

Yes, you can do.

first you create a delegate associated with the list-view.Then,

While inserting the elements to the listview, use set-data function to insert the icon and in the paint event of delegate you handle the drawing icon. i hope its clear.

Shadow
I'll evaluate your response and get back to you. Thanks!
Chris Kaminski