Buenas, 2012/1/14 Jose Sanchez <[email protected]>: > ¿Como se podría poner una imagen de fondo en un contenedor? > > Da igual el tipo que sea: > gtk.EventBox(), gtk.HBox() o gtk.VBox. > Con que en uno de ellos se pueda suficiente.
Para gtk+ v2.x tienes la respuesta en: http://faq.pygtk.org/index.py?req=all#8.21 Copio el código: ########################################################################## pixbuf = gtk.gdk.pixbuf_new_from_file("/path/to/img.png") def expose(widget, event, pixbuf): widget.window.draw_pixbuf(widget.style.bg_gc[gtk.STATE_NORMAL], pixbuf, 0, 0, 0, 0) if widget.get_child() is not None: widget.propagate_expose(widget.get_child(), event) return True win = gtk.Window() win.set_size_request(768, 32) win.connect("delete-event", gtk.main_quit) evbox = gtk.EventBox() evbox.connect('expose_event', expose, pixbuf) hbox = gtk.HBox(False, 10) l1 = gtk.Label("tururu 1") hbox.pack_start(l1, True, True, 0) l2 = gtk.Label("tururu 2") hbox.pack_start(l2, True, True, 0) l3 = gtk.Label("tururu 3") hbox.pack_start(l3, True, True, 0) evbox.add(hbox) win.add(evbox) win.show_all() gtk.main() ########################################################################## La base de la solución pasa por conectar la señal "expose" (que se encarga de redibujar los contenidos del widget) en la que pintas la imagen. Además, como las ni VBox ni HBox permiten conectar señales, lo envuelves en un EventBox. En gtk+ v3.x es similar procedimiento, pero el nombre de la señal ha cambiado. Espero que te sea de ayuda. Saludos, Iñigo Serna _______________________________________________ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
