2010-04-08 9 views
7

Utilizzando QListView e QStandardItemModel, è possibile visualizzare le icone nella vista elenco senza visualizzare il testo associato? QStandardItem è definito come modo:C'è un modo per visualizzare le icone in QListView senza testo?

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

così sembra richiedere una stringa di testo di qualche tipo - Voglio solo l'icona visualizzata. Se utilizzo il codice seguente, ottengo le icone come richiesto, ma ottengo anche un elemento di testo vuoto al di sotto di esse. 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?

risposta

3

Sì, lo puoi fare.

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

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

+0

Valuterò la tua risposta e tornerò da te. Grazie! –

+8

@Chris puoi pubblicare uno snippet di codice per questo problema? – Dmitriy

+1

Il codice sarebbe bello Concordo: i delegati personalizzati tendono a dare alle persone i brividi. – neuronet

Problemi correlati