Seite 1 von 1

[gelöst] Icon in QStandardItem

Verfasst: 11. November 2013 13:14
von MichaelS
Hallo,

ein eigentlich banales Ding bringt mich fast zum Verzweifeln: Ein QTreeView-Objekt soll ein Icon anzeigen. Dieses gebe ich im Model dem Konstruktor des QStandardItem mit auf dem Weg:

Code: Alles auswählen

QStandardItem *item=new QStandardItem(QIcon(":/images/stat-pending.png"),"Irgendein Text");
Angezeigt wird aber nur der Text. Von dem Icon ist nichts zu sehen. Die Datei "stat-pending.png" ist vorhanden und in der Resource-Datei auch korrekt hinterlegt. Wenn ich an anderer Stelle testhalber einem Pushbutton eben dieses Icon zuweise, funktioniert das korrekt:

Code: Alles auswählen

myButton->setIcon( QIcon(":/images/stat-pending.png" );
Warum funktoniert das eine und das andere nicht?

Gruß Michael

Re: Icon in QStandardItem

Verfasst: 13. November 2013 11:52
von MichaelS
Moin,

das Problem ist gelöst: Ich hatte die Methode data() des QStandardItemModels überschrieben, um den Font anzupassen. Dabei hatte ich auf Qt::FontRole und auf Qt::DisplayRole geprüft und entsprechende Werte zurückgegeben. Für alle anderen Rollen wurde dann aber QVariant() zurückgegeben. Nun wird stattdessen QStandardItemModel::data() aufgerufen und schon funktioniert alles korrekt. Ein wirklich blöder Fehler.

Gruß Michael