On Fri, 2004-01-02 at 18:03, John Hunter wrote:
> I modified some old pygtk-1 code I found for adding an pixmap to a
> button, but the image doesn't display correctly in the button
>
> Any ideas what is wrong, or if there is a better/easier way?
>
> (code and pixmap below)
>
> import pygtk
> pygtk.require('2.0')
> import gtk
>
> def add_button_icon_pixmap(button, pixmap, orientation='left'):
> button.realize()
> label = gtk.Label(button.get_children()[0].get())
> button.remove(button.get_children()[0])
>
> if orientation is None:
> box = gtk.HBox(spacing=0)
> box.pack_start(pixmap, gtk.FALSE, gtk.FALSE, 0)
>
> if orientation in ('left', 'right'):
> box = gtk.HBox(spacing=5)
> elif orientation in ('top', 'bottom'):
> box = gtk.VBox(spacing=5)
> if orientation in ('left', 'top'):
> box.pack_start(pixmap, gtk.FALSE, gtk.FALSE, 0)
> box.pack_start(label, gtk.FALSE, gtk.FALSE, 0)
> elif orientation in ('right', 'bottom'):
> box.pack_start(label, gtk.FALSE, gtk.FALSE, 0)
> box.pack_start(pixmap, gtk.FALSE, gtk.FALSE, 0)
>
> hbox = gtk.HBox()
> if box is not None:
> hbox.pack_start(box, gtk.TRUE, gtk.FALSE, 0)
> hbox.show_all()
> button.add(hbox)
>
> def add_button_icon(button, file, orientation='left'):
> button.realize()
> window = button.get_parent_window()
> xpm, mask = gtk.create_pixmap_from_xpm(window, None, file)
> pixmap = gtk.Image()
> pixmap.set_from_pixmap(xpm, mask)
> add_button_icon_pixmap(button, pixmap, orientation)
>
>
>
>
> win = gtk.Window()
> win.show()
>
> button = gtk.Button('Click Me')
> button.show()
> win.add(button)
>
>
>
> add_button_icon(button, 'stock_video-24.xpm', None)
>
> gtk.mainloop()
>
>
>
> ______________________________________________________________________
> _______________________________________________
> pygtk mailing list [EMAIL PROTECTED]
> http://www.daa.com.au/mailman/listinfo/pygtk
> Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/
There's a good tutorial on buttons here:
http://www.moeraki.com/pygtktutorial/pygtk2tutorial/ch-ButtonWidget.html
_______________________________________________
pygtk mailing list [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/