[Python-de] TreeView aus PyGTK

Marcus Habermehl bmh1980de at yahoo.de
Sam Okt 9 22:44:17 CEST 2004


Hallo.

Hab mich nach langer Zeit noch mal an den TreeView von PyGTK gewagt.

Diesmal, und dank eurer Hilfe bei meinen ersten Mailings hab ich es
sogar hin bekommen. *freu*

Jetzt hab ich aber das eine oder andere Problem mit der Auswahl.

Ich habe neben dem TreeView ein TextView eingefügt. Der Text in dem
TreeView soll sich ändern, wenn man auf den entsprechenden Eintrag im
TreeView klickt.

Hab jetzt mit Hilfe von Glade-2 ein Signal gefunden (row_activated),
dass dem nahe kommt. Leider funktioniert dies nur bei einem Doppelklick.
Ich hätte aber lieber die Änderung bereits beim ersten Klick. Welches
Signal wäre dat denn?

Das zweite Problem wäre, wie bekomme ich im Code heraus, welcher Eintrag
im TreeView ausgewählt ist? Hab schon die Hilfe [help(gtk.TreeView)]
durch gestöbert. Aber alles, was mir logisch erschien, war eher unnütz. 

Hier ein kleiner Zusammenschnitt, wie der TreeView aufgebaut wird.

treeview = gtk.TreeView()
model = gtk.TreeStore(gobject.TYPE_STRING)
treeview.set_model(model)
column = gtk.TreeViewColumn(None, gtk.CellRendererText(), text=0)
treeview.append_column(column)
treeview.connect('row_activated', changetext)
zeile1 = model.append(None)
model.set(zeile1 0, 'Zeile1')
zeile2 = model.append(zeile1)
model.set(zeile2, 0, 'Zeile2')
liste = model.append(zeile2)
model.set(liste, 0, 'Liste')
for ENTRY in os.listdir('/tmp'):
    iter = model.append(liste)
    model.set(iter, 0, ENTRY)

Gruß

Marcus