Pergunta

Usando um QLISTView e QStandardiTemmodel, é possível exibir ícones na visualização da lista sem exibir o texto associado? Qstandarditem é definido como assim:

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

Portanto, parece exigir uma sequência de texto de algum tipo - eu só quero o ícone exibido. Se eu usar o código a seguir, recebo os ícones conforme solicitado, mas também recebo um elemento de texto em branco por baixo deles. Eu não quero isso.

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

Se eu for ao trabalho de criar um modelo personalizado, posso resolver esse problema?

Foi útil?

Solução

Sim você pode fazer.

Primeiro, você cria um delegado associado ao list-view.hen,

Ao inserir os elementos no ListView, use a função de dados do conjunto para inserir o ícone e, no evento de pintura de delegado, você lida com o ícone de desenho. Espero que esteja claro.

Outras dicas

Como mostrar ícones sem texto no QLISTWIdget?

Do post acima, você pode usar nulo para se livrar desse espaço vazio

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top