Einzelne Einträge im QTableView row in verschiedenen Farben

Alles rund um die Programmierung mit Qt
Antworten
opra
Beiträge: 1
Registriert: 17. Februar 2009 16:38

Einzelne Einträge im QTableView row in verschiedenen Farben

Beitrag 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
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Aber sicher doch. Bei den Examples ist ein passendes Beispiel dazu...
Strahlex
Beiträge: 158
Registriert: 23. Dezember 2008 15:49
Wohnort: Österreich

Beitrag von Strahlex »

Müsste so wie überall anders auch mit HTML gehen, denke ich.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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...
peter999
Beiträge: 24
Registriert: 12. Januar 2006 11:28

Beitrag 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.
Antworten