Linux, Python, UbuntuFebruary 2, 2007 8:00 pm
Python y Glade - Treeview 2º Parte
Para este caso le agregamos iconos en los nodos y el siempre infaltable Scroll.
import gtk
from gtk import glade
- class TreeView:
- def __init__(self):
self.xml = glade.XML(”treview.glade”,None,None)
self.xml.signal_autoconnect(self)
# Gtk.Entry: ent_item
self.ent_item = self.xml.get_widget(”ent_item”)
# Gtk.Entry: ent_subitem
self.ent_subitem = self.xml.get_widget(”ent_subitem”)
# Gtk.Button: bnt_item
self.item = self.xml.get_widget(”btn_item”)
self.item.connect(”clicked”,self.On_Add_Parent)
# Gtk.Button: bnt_subitem
self.subitem = self.xml.get_widget(”btn_subitem”)
self.subitem.connect(”clicked”,self.On_Add_Child)
# Gtk.Button: bnt_expand
self.expand = self.xml.get_widget(”btn_expand”)
self.expand.connect(”clicked”,self.On_Expand)
# Gtk.Button: bnt_collapse
self.collapse = self.xml.get_widget(”btn_collapse”)
self.collapse.connect(”clicked”,self.On_Collapse)
self.node = “”
# Gtk.ScrollWindow: scroll
self.scroll = self.xml.get_widget(”scroll”)
self.scroll.set_policy(gtk.POLICY_NEVER,gtk.POLICY_AUTOMATIC)
# Gtk.Window: w_treeview
win = self.xml.get_widget(”w_treeview”)
win.connect(”destroy”,gtk.main_quit)
win.show()
- def tree(self):
self.treestore = gtk.TreeStore(gtk.gdk.Pixbuf,str)
# Gtk.TreeView: tree
self.tree = self.xml.get_widget(”tree”)
self.tree.set_model(self.treestore)
column_image = gtk.TreeViewColumn(”",gtk.CellRendererPixbuf(),pixbuf=0)
column_text = gtk.TreeViewColumn(”",gtk.CellRendererText(),text=1)
self.tree.append_column(column_image)
self.tree.append_column(column_text)
- def On_Add_Parent(self,event):
self.node_parent_image = gtk.gdk.pixbuf_new_from_file(”reload.png”)
self.node = self.treestore.append(None,[self.node_parent_image, self.ent_item.get_text()])
- def On_Add_Child(self,event):
self.node_child_image = gtk.gdk.pixbuf_new_from_file(”new.png”)
self.treestore.append(self.node,[self.node_child_image, self.ent_subitem.get_text()])
- def On_Expand(self,event):
self.tree.expand_all()
- def On_Collapse(self,event):
self.tree.collapse_all()
- def main(self):
gtk.main()
if __name__ == ‘__main__’:
w = TreeView()
w.tree()
w.main()
|
The URI to TrackBack this entry is: http://nachxs.blogsome.com/2007/02/02/p80/trackback/
No comments yet.
RSS feed for comments on this post.
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>