2012-03-30 11 views
10

Ich versuche, einen Tastaturbefehl auszuführen. Als ich S + some_number + Return einfügen muss ich eine Funktion aufrufen, die diese Nummer auf einer Säule auf Gtk.Treeview sehen und festgelegt, dass Zeile ausgewählt hat. Wie kann ich das machen?Python + GTK: So legen Sie eine ausgewählte Zeile auf gtk.treeview

+2

können Sie ein 'key-press-event' mit der Baumansicht verbinden und die verbundene Funktion verwenden, um einen Suchstring aufzubauen, bis Sie einen Return erhalten? Dann sollte 'ts = treveiw.get_selection()' Ihnen ein Auswahlobjekt für die Baumansicht und 'ts.select_path (Pfad)' geben, wobei Pfad ein korrekter Pfad ist, der der Eingabe und der Struktur Ihres Baummodells entspricht markiere das richtige Zeug. Ich bin mir aber nicht sicher, und da ich keinen Code habe, um es zu testen ... – deinonychusaur

+0

Ja, das hat funktioniert –

+1

Großartig ... sollte es als Antwort geschrieben haben dann .. – deinonychusaur

Antwort

8
<treeview>.set_cursor(0) # for your value of `path` 0 

ist das, was Sie wollen? Ich denke, Treeview wird auch Fokus greifen.

Wenn Sie eine bestimmte Zeile zum Auswahlsatz hinzufügen möchten, anstatt die alte Auswahl zu löschen und nur eine Zeile auszuwählen, müssen Sie mit Gtk.TreeSelection spielen, die Sie über die Methode .get_selection() erhalten.

Verwandte Themen