Seite 1 von 1
Einzelne Einträge im QTableView row in verschiedenen Farben
Verfasst: 17. Februar 2009 20:22
von opra
Hallo miteinander
Hab eine QTableView und QSqlQueryModel. Eine Spalte enthält die Daten Ja und Nein. Kann man auf einzelne (bestimmte) Zelle zugreiffen und es in verschiedenen Farben anzeigen?
zb. dass die Zellen die Nein enthalten im zB. roter Farbe angezeigt werden?
Geht es überhaupt?
Gruss aus der Schweiz
Verfasst: 17. Februar 2009 21:01
von upsala
Aber sicher doch. Bei den Examples ist ein passendes Beispiel dazu...
Verfasst: 17. Februar 2009 22:53
von Strahlex
Müsste so wie überall anders auch mit HTML gehen, denke ich.
Verfasst: 18. Februar 2009 07:22
von upsala
Müsste so wie überall anders auch mit HTML gehen, denke ich.
Nein, wenn dann ist dies nur sinnvoll, wenn nur ein Teil der Zelle andersfarbig sein soll und dann müßte er sich ein eigenes Delegate dafür schreiben...
Verfasst: 18. Februar 2009 08:12
von peter999
@opra
Du musst ein Modell von QSqlTableModel ableiten und dann in der model::data() Funktion auf die entsprechende "role" antworten.
z.B:
case Qt::DisplayRole:
// Hier gibt man den "Text" zurück
break;
case Qt::TextColorRole:
// Hier gibt man die Textfarbe zurück
z.B. if ((index.column() == 1) && (Query()->value(1).toInt() > 0))
return(qVariantFromValue(QColor(Qt::darkGreen)));
case Qt::DecorationRole:
Damit kann man Bitmaps u.ä. zurückliefern...
Weitere Möglichkeiten findest Du in der Doku.