Frage

Mit einem QListView und QStandardItemModel ist es möglich, Symbole in der Listenansicht angezeigt werden, ohne den zugehörigen Text angezeigt wird? QStandardItem ist definiert als so:

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

So scheint es, eine Textzeichenfolge von einer Art zu verlangen - Ich will nur das Symbol angezeigt. Wenn ich den folgenden Code verwenden, erhalte ich die Symbole wie gewünscht, aber ich habe auch ein leeres Textelement unter ihnen. Ich will das nicht.

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

Wenn ich die Mühe machen ein eigenes Modell zu bauen, kann ich dieses Problem beheben?

War es hilfreich?

Lösung

Ja, Sie tun können.

zunächst erstellen Sie einen Delegaten im Zusammenhang mit der Liste-view.Then,

Während die Elemente zur Listen Einfügen Verwendung Set-Datenfunktion auf das Symbol und in der Paint-Ereignis des Delegaten geben Sie die Zeichnung Symbol behandeln. Ich hoffe, seine klar.

Andere Tipps

Wie Symbole ohne Text zu zeigen, in QListWidget?

aus der oben genannten Post, können Sie NULL verwenden loswerden diesen leeren Raum zu bekommen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top