Saeed, thanks for your example.
My real doubt, however, is if I can get an UI like the one you showed in your example, with the graphical "look" of a tree, with lines connecting an item to its subitems. It is kind of a standard "look" used in technical/simulation software that I would like to reproduce in my pygtk app. Qt offers this style (I guess it does so with its Tree View widget), which is used in software like Salomé and several commercial packages, as ANSYS Workbench. It is also a standard feature in several Windows apps. Marcus Vinicius Eiffle Duarte [email protected] Niterói, RJ, Brasil 2009/8/28 saeed <[email protected]> > I wrote an example: > _______________________________ > #!/usr/bin/python > import gtk > from gtk import gdk > > pixDir = '/usr/share/glade3/pixmaps/hicolor/16x16/actions/' > > win = gtk.Window() > > model = gtk.TreeStore(gdk.Pixbuf, str) > treev = gtk.TreeView(model) > #treev.set_headers_visible(False) > > col = gtk.TreeViewColumn('Widget') > > cell = gtk.CellRendererPixbuf() > col.pack_start(cell, expand=False) > col.add_attribute(cell, 'pixbuf', 0) > > cell = gtk.CellRendererText() > col.pack_start(cell, expand=False) > col.add_attribute(cell, 'text', 1) > > treev.append_column(col) > > iterContainer = model.append(None) > model.set(iterContainer, 1, 'Container') ## No icon! > > iterBin = model.append(iterContainer) > model.set(iterBin, 1, 'Bin') ## No icon! > > iterBox = model.append(iterContainer) > model.set(iterBox, 1, 'Box') ## No icon! > > iterTextView = model.append(iterContainer) > model.set(iterTextView, 0, > gdk.pixbuf_new_from_file(pixDir+'widget-gtk-textview.png'), 1, > 'TextView') > > iterPaned = model.append(iterContainer) > model.set(iterPaned, 1, 'Paned') ## No icon! > > iterNoteBook = model.append(iterContainer) > model.set(iterNoteBook, 0, > gdk.pixbuf_new_from_file(pixDir+'widget-gtk-notebook.png'), 1, > 'TextView') > > iterButton = model.append(iterBin) > model.set(iterButton, 0, > gdk.pixbuf_new_from_file(pixDir+'widget-gtk-button.png'), 1, 'Button') > > iterColorButton = model.append(iterButton) > model.set(iterColorButton, 0, > gdk.pixbuf_new_from_file(pixDir+'widget-gtk-colorbutton.png'), 1, > 'ColorButton') > > iterFontButton = model.append(iterButton) > model.set(iterFontButton, 0, > gdk.pixbuf_new_from_file(pixDir+'widget-gtk-fontbutton.png'), 1, > 'FontButton') > > iterLinkButton = model.append(iterButton) > model.set(iterLinkButton, 0, > gdk.pixbuf_new_from_file(pixDir+'widget-gtk-linkbutton.png'), 1, > 'LinkButton') > > iterToggleButton = model.append(iterButton) > model.set(iterToggleButton, 0, > gdk.pixbuf_new_from_file(pixDir+'widget-gtk-togglebutton.png'), 1, > 'ToggleButton') > > iterCheckButton = model.append(iterToggleButton) > model.set(iterCheckButton, 0, > gdk.pixbuf_new_from_file(pixDir+'widget-gtk-checkbutton.png'), 1, > 'CheckButton') > > iterRadioButton = model.append(iterCheckButton) > model.set(iterRadioButton, 0, > gdk.pixbuf_new_from_file(pixDir+'widget-gtk-radiobutton.png'), 1, > 'RadioButton') > > treev.show_all() > win.add(treev) > win.connect('delete-event', gtk.main_quit) > win.show_all() > gtk.main() > ________________________________ >
_______________________________________________ pygtk mailing list [email protected] http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://faq.pygtk.org/
