Hallo
Ich habe mir eine Tabelle in TableView erstellt. Durch anklicken lässt sich die Hintergrundfarbe jedes einzelnen Elements umstellen.
Jetzt möchte ich die Farbe des Feldes allerdings gern wieder auslesen.
Beim TableWidget konnte ich das über item->backgroundcolor machen.
Bei TableView hab ich allerdings noch nichts gefunden oder muss ich die Farbe über QStandartItemModel finden?
Danke
TableView
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: TableView
Bei einem View ist ein Model dahinter. In deinem Fall wohl ein QStandardItemModel. Dort sind alle relvanten Daten gespeichert.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
- Beiträge: 15
- Registriert: 30. Mai 2017 13:05
Re: TableView
Ja das weiß ich, hatte ich ja auch hingeschrieben.
Hab in der Dokumentation auch schon gesucht, aber noch nicht so richtig gefunden wie ich an die Hintergrundinformation einer Zelle komme.
Vlt. weiß jmd da noch was genaueres?
VG
Hab in der Dokumentation auch schon gesucht, aber noch nicht so richtig gefunden wie ich an die Hintergrundinformation einer Zelle komme.
Vlt. weiß jmd da noch was genaueres?
VG
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: TableView
Die einzelnen QStandardItems haben doch sogar eine Funktion namens background() ... https://doc.qt.io/qt-5/qstandarditem.html#background
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
- Beiträge: 15
- Registriert: 30. Mai 2017 13:05
Re: TableView
Hmm das stimmt. Danke.
Leider komm ich noch nicht so richtig zur Farbe.
Ich hab mir aus dem QStandardItemModel ein QStandardItem, welches auf den item index zugreift erzeugt.
und versuche jetzt über:
den QBrusch von Background in einen String umzuwwandeln. Jedoch kommt folgende Fehlermeldung:
Fehler: no match for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'QString')
^
Leider komm ich noch nicht so richtig zur Farbe.
Ich hab mir aus dem QStandardItemModel ein QStandardItem, welches auf den item index zugreift erzeugt.
und versuche jetzt über:
Code: Alles auswählen
my_item->background().color().name()
Fehler: no match for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'QString')
^
-
- Beiträge: 15
- Registriert: 30. Mai 2017 13:05
Re: TableView
Hat sich erledigt.
Arbeite jetzt direkt mit dem QBrush von background().
Sicherheitshalber würde ich trotzdem noch gern wissen wollen, wie ich das konvertiere, da ich da immer Fehler hab.
Danke für den Tipp mit QStandardItem!
Arbeite jetzt direkt mit dem QBrush von background().
Sicherheitshalber würde ich trotzdem noch gern wissen wollen, wie ich das konvertiere, da ich da immer Fehler hab.
Danke für den Tipp mit QStandardItem!
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: TableView
Wenn man einen QString mittels std::cout ausgeben will, muss man ihn in die korrekte locale konvertieren -> QString::toLocal8Bit().data()
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung