使用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); }
解决方法
是的,你可以做到.
首先,您创建一个与列表视图关联的委托.然后,
在将元素插入列表视图时,使用set-data函数插入图标,并在委托的paint事件中处理绘图图标.我希望它清楚.