treev.set_enable_tree_lines(True)
On 8/28/09, Marcus Vinicius Eiffle Duarte <[email protected]> wrote: > 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/
