Icon in Zelle eines QTableView
Verfasst: 6. Juni 2009 20:08
Hallo zusammen,
ich grüble gerade über ein Problem, welches sich auf den ersten Blick recht einfach anhört:
Ich habe eine Sammlung von Datensätzen in einem eigenen Model (Ableitung von QAbstractTableModel). Die Daten dieses Models sollen in einem QTableView angezeigt werden. Die data()-Methode liefert je nach Index die passenden Daten aus - klappt super. Jetzt hab ich aber das Problem, dass ich (abhängig von den Daten) ein Feld als Icon darstellen will. Bisher hab ich da einfach unterschiedliche Strings zurückgegeben, aber ein Icon würde Platz sparen und macht irgendwie mehr her. Stellt sich aber die Frage: Wie bekomme ich ein Icon in einer Zelle des TableView angezeigt? Es muss ja vermutlich schon irgendwie über das Model gehen. Ich dachte mir also, dass die data()-Methode einfach den QVariant mit einem Icon belegen kann:
Kompiliert zwar und läuft auch, nur wird da leider kein Icon angezeigt (an der Ressource liegt's definitiv nicht).
Kann mir jemand einen Tipp geben, wie man dort ein Icon anzeigt? Ich hatte eigentlich nicht erwartet, da so viel Energie reinstecken zu müssen ^^
Danke schonmal im Voraus,
thw
ich grüble gerade über ein Problem, welches sich auf den ersten Blick recht einfach anhört:
Ich habe eine Sammlung von Datensätzen in einem eigenen Model (Ableitung von QAbstractTableModel). Die Daten dieses Models sollen in einem QTableView angezeigt werden. Die data()-Methode liefert je nach Index die passenden Daten aus - klappt super. Jetzt hab ich aber das Problem, dass ich (abhängig von den Daten) ein Feld als Icon darstellen will. Bisher hab ich da einfach unterschiedliche Strings zurückgegeben, aber ein Icon würde Platz sparen und macht irgendwie mehr her. Stellt sich aber die Frage: Wie bekomme ich ein Icon in einer Zelle des TableView angezeigt? Es muss ja vermutlich schon irgendwie über das Model gehen. Ich dachte mir also, dass die data()-Methode einfach den QVariant mit einem Icon belegen kann:
Code: Alles auswählen
QVariant MyModel::data(const QModelIndex& index, int role) const {
return QIcon(":/img/icon.png");
}
Kann mir jemand einen Tipp geben, wie man dort ein Icon anzeigt? Ich hatte eigentlich nicht erwartet, da so viel Energie reinstecken zu müssen ^^
Danke schonmal im Voraus,
thw