2010-04-08 18 views
7

Al usar QListView y QStandardItemModel, ¿es posible mostrar iconos en la vista de lista sin mostrar el texto asociado? QStandardItem se define como así:¿Hay alguna manera de mostrar iconos en QListView sin texto?

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

Por lo tanto, parece requerir una cadena de texto de algún tipo - Yo sólo quiero el icono que aparece. Si utilizo el siguiente código, obtengo los íconos según lo solicitado, pero también obtengo un elemento de texto en blanco debajo de ellos. No quiero esto

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

Si me tomo la molestia de crear un modelo personalizado, ¿puedo resolver este problema?

Respuesta

3

Sí, puedes hacer.

primero se crea un delegado asociado con la lista-view.Then,

Mientras que la inserción de los elementos a la vista de lista, utilice la función de conjunto de datos para insertar el icono y en el caso de la pintura de delegado a manejar el dibujo icono. espero que esté claro.

+0

Evaluaré su respuesta y le responderé. ¡Gracias! –

+8

@Chris ¿puedes publicar un fragmento de código para este problema? – Dmitriy

+1

El código sería bueno, estoy de acuerdo: los delegados personalizados tienden a dar a la gente los pelos de punta. – neuronet

Cuestiones relacionadas