source: TreeView
import pygtk
pygtk.require("2.0")
import gtk
NAME="TreeView"
class t_treeview(gtk.Window):
def __init__(self):
gtk.Window.__init__(self)
self.set_title("Treeview")
self.set_geometry_hints(min_width=200)
self.connect("destroy", gtk.main_quit)
self.list = gtk.ListStore(int, str)
iter = self.list.append( (0, "toto",) )
self.list.set(iter)
iter = self.list.append( (1, "toto2",) )
self.list.set(iter)
self.treeview = gtk.TreeView()
model = self.treeview.get_selection()
model.set_mode(gtk.SELECTION_SINGLE)
r = gtk.CellRendererText()
self.treeview.insert_column_with_attributes(-1, "List", r, text=1)
self.treeview.set_model(self.list)
self.treeview.connect("cursor-changed", self.on_treeview_cursor_changed)
self.treeview.show()
self.add(self.treeview)
def on_treeview_cursor_changed(self, treeview):
print "Treeview Cursor changed"
s = treeview.get_selection()
(ls, iter) = s.get_selected()
if iter is None:
print "nothing selected"
else:
data0 = ls.get_value(iter, 0)
data1 = ls.get_value(iter, 1)
print "Selected:", data0, data1
t = t_treeview()
t.show()
gtk.main()