c – 有没有办法在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);
}

如果我遇到构建自定义模型的麻烦,我可以解决这个问题吗?

解决方法

是的,你可以做到.

首先,您创建一个与列表视图关联的委托.然后,

在将元素插入列表视图时,使用set-data函数插入图标,并在委托的paint事件中处理绘图图标.我希望它清楚.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...