Есть ли способ отображать значки в QListView без текста?

используя QListView и QStandardItemModel, можно ли отображать значки в представлении списка без отображения связанного текста? QStandardItem определяется следующим образом:

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

поэтому, похоже, требуется какая - то текстовая строка-я хочу, чтобы отображался только значок. Если я использую следующий код, я получаю значки по запросу, но я также получаю пустой текстовый элемент под ними. Я не хочу этого.

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);
}

Если я иду к проблеме создания обычая модель, могу ли я решить эту проблему?

1 ответов


Да, вы можете сделать.

сначала вы создаете делегат, связанный с представлением списка.Затем:

при вставке элементов в listview используйте функцию set-data для вставки значка, а в событии paint делегата вы обрабатываете значок чертежа. надеюсь, все ясно.