Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/01/2012, 05:57
aarias1978
 
Fecha de Ingreso: octubre-2011
Mensajes: 9
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Poner una Imagen de BackGround

Disculpe el olvido, estoy siguiendo el ejemplo de layout.py además de una faq de gtk donde indican como se pone una imagen de background.

Cita:
#!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk, os
import random

iconsdir = './icons'
imagename = 'image.png'


class LayoutExample:
def WindowDeleteEvent(self, widget, event):
# return false so that window will be destroyed
return gtk.FALSE

def WindowDestroy(self, widget, *data):
# exit main loop
gtk.main_quit()

def ButtonClicked(self, button):
# move the button
self.layout.move(button, random.randint(0,500),
random.randint(0,500))

def __init__(self):
# create the top level window
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.set_title("Layout Example")
window.set_default_size(300, 300)
window.connect("delete-event", self.WindowDeleteEvent)
window.connect("destroy", self.WindowDestroy)

path = os.path.join(iconsdir, imagename)
pixbuf = gtk.gdk.pixbuf_new_from_file(path)
pixmap, mask = pixbuf.render_pixmap_and_mask()
width, height = pixmap.get_size()
del pixbuf

window.shape_combine_mask(mask, 0, 0) # make it transparent, not necessary
window.window.set_back_pixmap(pixmap, gtk.FALSE)
del pixmap

window.invalidate_rect( rect, False )

# create the table and pack into the window
table = gtk.Table(2, 2, gtk.FALSE)
window.add(table)
# create the layout widget and pack into the table
self.layout = gtk.Layout(None, None)
self.layout.set_size(600, 600)
table.attach(self.layout, 0, 1, 0, 1, gtk.FILL|gtk.EXPAND,
gtk.FILL|gtk.EXPAND, 0, 0)
# create the scrollbars and pack into the table
vScrollbar = gtk.VScrollbar(None)
table.attach(vScrollbar, 1, 2, 0, 1, gtk.FILL|gtk.SHRINK,
gtk.FILL|gtk.SHRINK, 0, 0)
hScrollbar = gtk.HScrollbar(None)
table.attach(hScrollbar, 0, 1, 1, 2, gtk.FILL|gtk.SHRINK,
gtk.FILL|gtk.SHRINK, 0, 0)
# tell the scrollbars to use the layout widget's adjustments
vAdjust = self.layout.get_vadjustment()
vScrollbar.set_adjustment(vAdjust)
hAdjust = self.layout.get_hadjustment()
hScrollbar.set_adjustment(hAdjust)
# create 3 buttons and put them into the layout widget
button = gtk.Button("Press Me")
button.connect("clicked", self.ButtonClicked)
self.layout.put(button, 0, 0)
button = gtk.Button("Press Me")
button.connect("clicked", self.ButtonClicked)
self.layout.put(button, 100, 0)
button = gtk.Button("Press Me")
button.connect("clicked", self.ButtonClicked)
self.layout.put(button, 200, 0)
# show all the widgets
window.show_all()

def main():
# enter the main loop
gtk.main()
return 0

if __name__ == "__main__":
LayoutExample()
main()
Gracias por el tiempo dispensado