2010-04-08 10 views
7

Bir QListView ve QStandardItemModel kullanarak, ilişkili metnin görüntülenmesine gerek kalmadan liste görünümündeki simgeleri görüntülemek mümkün mü? QStandardItem böylece olarak tanımlanır: QListView içindeki simgeleri metin olmadan görüntülemek için bir yol var mı?

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

Yani bir çeşit metin dizesi gerektirir görünüyor - Ben sadece görüntülenen simgeyi istiyorum. Aşağıdaki kodu kullanırsam, simgeleri istediğim gibi alırım, ancak altlarında boş bir metin öğesi de bulunur. Bunu istemiyorum.

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

Özel bir model oluşturma zorluğuna gidersem bu sorunu çözebilir miyim?

cevap

3

Evet, yapabilirsin.

ilk

liste görünümü öğeler takarken

, simgeyi eklemek için set-veri işlevini kullanın liste-view.Then ile ilişkili bir temsilci oluşturun ve temsilci boya durumunda Çizimi işlemek simgesi. Umarım açık.

+0

Cevabınızı değerlendirip size geri döneceğim. Teşekkürler! –

+8

@Chris bu sorun için bir kod snippet'i gönderebilir misiniz? – Dmitriy

+1

Kurallar güzel olurdu: Özel delegeler insanlara acı vermek eğilimindedir. – neuronet

İlgili konular