QTreeView: Frage zum Painting/Hintergrundfarben beeinflussen

Alles rund um die Programmierung mit Qt
Antworten
Chris81T
Beiträge: 82
Registriert: 4. Mai 2008 00:06
Wohnort: Urbar

QTreeView: Frage zum Painting/Hintergrundfarben beeinflussen

Beitrag von Chris81T »

Hallo,

ich habe mein eigenes TreeModel geschrieben, welches die Daten für ein QTreeView bereitstellt. (ganz normal)

Jetzt ist es so, dass ich den View farblich etwas "aufmotzen" will.

Bilder sagen mehr als Worte, also schaut euch mal den "Screenshot" an.

Wie habe ich das mit den Farben gemacht:

Im Model::data prüfe ich bei der Background Role ab, was für ein Typ mein Item ist und gebe dafür passend die Farbe zurück. Eine "Überschrift" (ein Root Item) wird grau, davon die KindItems passend farbig (die zurückgegebene Farbe hat einen Alphawert von 100, deswegen schimmert das alternatingRowColor durch).

Was schade ist, dass links (der Anfang) unberührt bleibt.

Und nun die Frage: Wie bekomm ich den Anfang in die gewünschten Farben?

Ich habe die protected Funktionen drawBranches, drawRow gefunden, die das QTreeView zur Verfügung stellt, in der Doku gefunden.

Muss ich die drawRow reimplementieren, oder gibt es noch eine andere Möglichkeit, dies zu verwirklichen?

2. Frage:
Kann ich die Symbole [+] und [-] durch eigene ersetzen?


Danke + Grüße
Christian
Dateianhänge
Screenshot: Ausschnitt vom View
Screenshot: Ausschnitt vom View
picture.png (2.23 KiB) 1556 mal betrachtet
Antworten