Domanda

Utilizzando un QListView, e QStandardItemModel, è possibile visualizzare le icone nella visualizzazione elenco senza visualizzare il testo associato? QStandardItem è definito come:

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

Così sembra richiedere una stringa di testo di qualche tipo - Voglio solo l'icona visualizzata. Se uso il seguente codice, ottengo le icone come richiesto, ma anche ottenere un elemento di testo vuoto sotto di loro. Non voglio questo.

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 vado alla difficoltà di costruire un modello personalizzato, posso risolvere questo problema?

È stato utile?

Soluzione

Sì, si può fare.

prima si crea un delegato associato con la lista-view.Then,

Mentre inserendo gli elementi al controllo ListView, funzione set-dati utilizzare per inserire l'icona e in caso di vernice di delegato a gestire l'icona del disegno. Spero che sia chiaro.

Altri suggerimenti

Come mostrare icone senza testo in QListWidget?

dal post di cui sopra, è possibile utilizzare NULL per sbarazzarsi di quello spazio vuoto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top