QTreeWidget, Zeilen und Spalten mit Grid

Alles rund um die Programmierung mit Qt
Antworten
Nukleus
Beiträge: 44
Registriert: 16. April 2010 13:32

QTreeWidget, Zeilen und Spalten mit Grid

Beitrag von Nukleus »

Liebe Community,

Ich habe ein QTreewidget mit einer Reihe von Zeilen und einigen Spalten.

Ich würde gerne ein Grid einzeichnen, in dem ich die einzelne Zeile mit Linien umrande. (d.h. eigentlich will ich ein Grid einziehen). In einem QTabelWidget würde das einfach sein, weil ich ggf. nur ein eigenes Delegate schreiben muß. Im QTreeWidget bezieht sich das WidgetItem aber auf die gesamte Zeile und ich komme an die einzelne Zelle nicht ran.

Wäre dankbar für Ideen.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Auch ein QTreeWidget, bzw. eine QTreeView besteht aus einzelnen Zellen und nicht nur aus Zeilen.
Nukleus
Beiträge: 44
Registriert: 16. April 2010 13:32

Beitrag von Nukleus »

... das stimmt. Aber:

Beim TableWidget habe ich pro Zelle ein eigenes WigetItem. Ich kann beim Delegate die Methode paint überladen und sehe dann als Frame die einzelne Zelle. Um die kann ich einen Rahmen zeichnen und voilà.

Beim TreeWidget habe ich statt dessen pro Zeile ein Item und pro Table ein Delegate. Ich kann zwar in die einzelne Zelle einen Text schreiben, ein Icon reinsetzen,... Wenn ich aber um die einzelne Zelle einen Rahmen zeichnen will, dann gibt mir die Methode paint (reimplementiert im Delegate) nur die ganze Zeile als Rechteck aus (d.h. painter->window() liefert ein Rechteck, welches die gesamte Zelle beinhaltet). Damit kann ich zwar unter alle Spalten gleichzeitig eine Linie zeichnen (das ist die Hälfte von dem, was ich will), ich scheitere aber mit den senkrechten Linien.
Antworten