You're using the "stock=" attribute of the CellRendererPixbuf -- that's
designed to grab a stock icon. You want to be using the pixbuf= attribute.
Assuming you don't want to mix and match (that you just want to use
pixbufs), changing stock to pixbuf in the code below should get you what you
want (you'll see that the "stock" items will break and your items will
work).

That said, the code below looks a little fancy for what you need -- you
might want to look at:
http://faq.pygtk.org/index.py?req=show&file=faq13.006.htp

Tom

On Mon, Nov 10, 2008 at 2:22 AM, Demidov Andrey <[EMAIL PROTECTED]>wrote:

> Hi,
>
> I want to put my icons in the treeview cell.   I have found this example
> code (http://www.pygtk.org/pygtk2tutorial/examples/treeviewcolumn.py) and
> tried to change it:
>
> #!/usr/bin/env python
>
> import pygtk
> pygtk.require('2.0')
> import gtk
>
> class TreeViewColumnExample:
>
>     # close the window and quit
>     def delete_event(self, widget, event, data=None):
>         gtk.main_quit()
>         return False
>
>     def __init__(self):
>         # Create a new window
>         self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
>         self.window.connect("delete_event", self.delete_event)
>         self.liststore = gtk.ListStore(str, str, str, 'gboolean')
>         self.treeview = gtk.TreeView(self.liststore)
>         self.tvcolumn = gtk.TreeViewColumn('Pixbuf and Text')
>
>         pixbuf =
> gtk.gdk.pixbuf_new_from_file('arch.png')
> # <-- my code
>         self.liststore.append(['Open', gtk.STOCK_OPEN, 'Open a File',
> True])
>         self.liststore.append(['New', pixbuf, 'New File',
> True])                                 # <-- my code
>         self.liststore.append(['Print', gtk.STOCK_PRINT, 'Print File',
> False])
>
>         self.treeview.append_column(self.tvcolumn)
>
>         # create a CellRenderers to render the data
>         self.cellpb = gtk.CellRendererPixbuf()
>         self.cell = gtk.CellRendererText()
>
>         # add the cells to the columns - 2 in the first
>         self.tvcolumn.pack_start(self.cellpb, False)
>         self.tvcolumn.pack_start(self.cell, True)
>
>         self.tvcolumn.set_attributes(self.cellpb, stock_id=1)
>         self.tvcolumn.set_attributes(self.cell, text=0)
>
>     self.treeview.set_search_column(0)
>         self.tvcolumn.set_sort_column_id(0)
>         self.treeview.set_reorderable(True)
>         self.window.add(self.treeview)
>         self.window.show_all()
>
> def main():
>     gtk.main()
>
> if __name__ == "__main__":
>     tvcexample = TreeViewColumnExample()
>     main()
>
> But it doesn't work.  How can I display the icon from file in TreeView?
> And what is "stock"?  How can I put my icon in this "stock"?
>
> Thanks in advance,
> Andrey
>
> _______________________________________________
> pygtk mailing list   [email protected]
> http://www.daa.com.au/mailman/listinfo/pygtk
> Read the PyGTK FAQ: http://faq.pygtk.org/
>
_______________________________________________
pygtk mailing list   [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/

Reply via email to