Hi,
You could even handle everything in your button 'clicked' handler,
see below.
mvg,
Dieter
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pygtk
pygtk.require('2.0')
import gtk
class BasicTreeViewExampleWindow(gtk.Window):
__gtype_name__ = 'MyBasictreeViewExampleWindow'
def __init__(self):
gtk.Window.__init__(self)
self.set_title('Music Collection')
self.set_size_request(500, 200)
vbox = gtk.VBox()
self.add(vbox)
# create liststore
self.liststore = gtk.ListStore(str, str)
self.liststore.append(['acdc - highway to hell',
'$MUSIC\acdc\highway'])
self.liststore.append(['Saxon - inner sanctum',
'$MUSIC\saxon\inner'])
self.liststore.append(['Gun - Greatest Hist',
'$MUSIC\gun\greatest_hits'])
self.liststore.append(['ABC - Look of love',
'$music\abc\look_of_love'])
# create treeview using liststore
self.treeview = gtk.TreeView(self.liststore)
self.treeview.set_headers_visible(False)
self.treeview.set_search_column(0)
self.treeview.set_reorderable(False)
treeselection = self.treeview.get_selection()
treeselection.set_mode(gtk.SELECTION_MULTIPLE)
tvcolumn = gtk.TreeViewColumn()
cell = gtk.CellRendererText()
tvcolumn.pack_start(cell, True)
tvcolumn.add_attribute(cell, 'text', 0)
self.treeview.append_column(tvcolumn)
vbox.pack_start(self.treeview, expand=True, fill=True)
button = gtk.Button('click here')
button.connect('clicked', self.on_button_clicked)
vbox.pack_start(button, expand=False, fill=True)
def on_button_clicked(self, widget, data=None):
selection = self.treeview.get_selection()
model, selection = selection.get_selected_rows()
print 'selected row(s):'
for path in selection:
iter = model.get_iter(path)
if iter is not None:
print '%s (%s)' % (model.get_value(iter, 0),
model.get_value(iter, 1))
def quit(widget, event):
gtk.main_quit()
def main():
examplewindow = BasicTreeViewExampleWindow()
examplewindow.connect('delete_event', quit)
examplewindow.show_all()
gtk.main()
if __name__ == '__main__':
main()
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/