Seite 1 von 1

PyQT - TreeView

Verfasst: Montag 11. August 2008, 02:47
von PNS-Richi
Hallo,

hat wer ein Simples TeeView Beispiel für mich?

Ich habe eine MySQL Datenbank mit Einträgen, jeder Eintrag hat ein Parent, im Grunde ist es eine Art verschachteltes Menü.

Ich möchte den Index übernehmen und so die TreeView Items ansprechen.

Alles mit einer parent_id = 0 ist auf der ersten Ebene also TopLevel.

SQL Abfragen usw. stehen schon, nur ich finde kein TreeView Beispiel.

id name parent_id
1 Linux 0
2 User Mode Linux 1
3 VHCS2 1
4 Convert 1
5 Befehle 1
6 Swap 1
7 Programmieren 0
8 tcl 7
9 gambas2 7
10 sh 7
11 Eggdrop 8
12 php 7
13 Apache2 1

-linux
|-User Mode Linux
|-VHCS2
|-[Child von VHCS2]
-Programmieren
|-tcl
|-Gambas

lg Richi

Verfasst: Montag 11. August 2008, 17:58
von lunar
http://paste.pocoo.org/show/81870 – Ein Modell basierend auf einem "lxml.etree"-Baum
http://paste.pocoo.org/show/81871 – Das Widget, in dem es angewendet wird. "self.strings" ist ein QTreeView

Verfasst: Montag 11. August 2008, 23:23
von PNS-Richi
Hallo,

Vielen Dank für deine Hilfe.

Hab es nach ner Runde Schlaf und der QT Dokumentation geschaft :)

In QT3 war es irgendwie leichter...

Nun habe ich leider ein weiteres Problem.

Ich wollte In dem QTreeView eine ComboBox einfügen. Dies habe ich über die Funktion "setItemWidget" gemacht. Es erscheint zwar ein neuer Eintrag und dieser Eintrag hat auch in etwa die Größe einer ComboBox - Das Feld ist Doppelt so Groß - es befindet sich aber leider nichts darin, außer ein weißes Feld.

Und wie bekomme ich ein Icon vor dem Text?

Ich hab es vorerst so gelöst das ein Icon in der ersten Spalte ist und der Text in der 2. Spalte. Das ist nicht gerade sehr schön und ich denke es sollte auch anderes(schöner) funktionieren.

lg Richi

Verfasst: Dienstag 12. August 2008, 01:15
von PNS-Richi
Ok, das eine Problem hab ich theoretisch mit den Style Sheets gelöst.

Gibt es eine möglichkeit das sich die Style Sheets nicht verzerren?

Die Beispiel die ich verwendet hab sind verzerrt und meine Selbstgemachten auch. Gut; wenn man nur Linien verwendet fällt es nicht auf, aber wenn man Linien mit Icons verwendet, dann fällt es sehr wohl auf :(

Gibts da ne möglichkeit?

lg Richi