#!/usr/bin/python import pygtk pygtk.require('2.0') import gobject import gtk import gtk.glade class MyTree: ( COLUMN_NAME, COLUMN_EMAIL, ) = range(2) def __init__(self, treeview): self.model = gtk.TreeStore(gobject.TYPE_STRING, \ gobject.TYPE_STRING) self.treeview = treeview self.add_columns() def add_data(self, data): iter = None for item in data: iter = self.model.append(iter) self.model.set(iter, \ self.COLUMN_NAME, item[0], \ self.COLUMN_EMAIL,item[1]) def add_columns(self): renderer = gtk.CellRendererText() column = gtk.TreeViewColumn('Name', renderer, text=self.COLUMN_NAME, editable=False) column.set_clickable(True) column.set_sizing(gtk.TREE_VIEW_COLUMN_AUTOSIZE) self.treeview.append_column(column) column = gtk.TreeViewColumn('E-mail', renderer, text=self.COLUMN_EMAIL, editable=False) column.set_clickable(True) column.set_sizing(gtk.TREE_VIEW_COLUMN_AUTOSIZE) self.treeview.append_column(column) class HelloWorld: def __init__(self): gladefile="project1.glade" windowname="window1" self.wTree = gtk.glade.XML(gladefile, windowname) dic = { "on_button1_clicked" : self.button1_clicked, \ "on_window1_destroy" : (gtk.main_quit) } self.wTree.signal_autoconnect(dic) tree = MyTree(self.wTree.get_widget('treeview1')) data = [['luiz', 'luizribeiro@gmail.com'], \ ['ana', 'ananutripuc@bol.com.br']] tree.add_data(data) return def button1_clicked(self, widget): data = [self.wTree.get_widget('entry1').get_text(), \ self.wTree.get_widget('entry2').get_text()] # inserir return def main(self): gtk.main() if __name__ == "__main__": hello = HelloWorld() hello.main() """ The contents of project1.glade: 10 True Names GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False False False True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True True 184 16 True True True True 0 True * False 56 0 184 16 True True True True 0 True * False 56 24 56 16 True Name: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 0 0 56 16 True E-mail: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 PANGO_ELLIPSIZE_NONE -1 False 0 0 24 304 192 True True True True True True 0 48 56 40 True True Insert True GTK_RELIEF_NORMAL True 248 0 """