代码之家  ›  专栏  ›  技术社区  ›  Chris K

有没有办法在qlistview中显示没有文本的图标?

  •  7
  • Chris K  · 技术社区  · 15 年前

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

    如果我去麻烦建立一个自定义模型,我能解决这个问题吗?

    2 回复  |  直到 15 年前
        1
  •  3
  •   Naruto    15 年前

    是的,你可以。

    首先创建与列表视图关联的委托。然后,

    将元素插入ListView时,使用set data函数插入图标,在Delegate的绘制事件中处理绘图图标。我希望它是清楚的。

        2
  •  0
  •   Komgcn    6 年前

    How to show icons without text in QListWidget?

    在上面的文章中,您可以使用null来清除空白