lo siento olvide poner asunto From: ailurus.fulg...@hotmail.com To: python-es@python.org Subject: Date: Mon, 3 Sep 2012 20:50:17 -0500
hola a todos ya les había mencionado antes intentaba agregar botones e un gtk.hbox con la ventana funcionando y tenia problemas haciendo mas pruebas encontré algo curioso hice dos ejemplos para mostrarles en el primero tengo un botón para cambiar una imagen insertada por otra, funciona, borra una imagen y pone otra en su lugar en el segundo intento hacer lo mismo pero no funciona. no puedo agregar la imagen y quitarla. puedo borrar botones pero no poner nuevos los ejemplos son casi iguales, no veo la razón por la que uno falla en el primero ya hay una imagen insertada, la retiro le cambio el archivo de imagen y la pongo otra ves, todo bien en el segundo ejemplo esto se ve mejor, puedo retirar los objetos que declare en el constructor, y volverlos a poner, tanto en botones como imágenes pero si intento agregar una imagen o botón nuevo, estos no aparecen, no recibo mensajes de error estuve batallando hasta darme cuenta d eso XD el problema es solo con los widgets que no estaban ahí antes de llamar a gtk.main() alguien sabe como hago k aparezcan esos botones? por cierto, gracias a la comunidad k siempre ayuda en lo k esta a su alcance ejemplo 1 #!/usr/bin/env python import sys import gobject import pango # Dirty path adjustment to look for pygtk 2.9 instead of pygtk 2.8 # This needs pygtk 2.9 installed. sys.path[:0] = ['/usr/local/lib/python2.4/site-packages/gtk-2.0'] import pygtk pygtk.require('2.0') import gtk from gtk import gdk win = gtk.Window() image = gtk.Image() hbox0=gtk.HBox(False,0) def cambio(event): hbox0.remove(image) image.set_from_file("zorrita.png") hbox0.pack_start(image) def main(args): #win = gtk.Window() def mapeoteclas(self,event,data=None): #print event.keyval vbox1.set_visible(not vbox1.get_visible()) if event.keyval == gtk.keysyms.Escape: gtk.main_quit() win.set_title("PandaViwer") win.connect('delete-event', gtk.main_quit) win.connect("destroy",gtk.main_quit) win.add_events(gdk.BUTTON_PRESS_MASK) win.connect("key_release_event", mapeoteclas) image.set_from_file("red.jpg") image.show() btn1 = gtk.Button(" x ") btn1.connect("clicked",gtk.main_quit) btn2 = gtk.Button("cambio") btn2.connect("clicked",cambio) #hbox0=gtk.HBox(False,0) vbox1=gtk.VBox(False,0) vbox1.pack_start(btn1,False,False,10) vbox1.pack_start(btn2,False,False,10) hbox0.pack_end(vbox1,False,False,10) hbox0.pack_start(image) win.add(hbox0) win.show_all() gtk.main() return True if __name__ == '__main__': sys.exit(main(sys.argv)) ejemplo 2 #!/usr/bin/env python import sys import gobject import pango from twisted.python._epoll import PRI sys.path[:0] = ['/usr/local/lib/python2.4/site-packages/gtk-2.0'] import pygtk pygtk.require('2.0') import gtk from gtk import gdk import cairo if gtk.pygtk_version < (2,9,0): print "PyGtk 2.9.0 or later required" raise SystemExit supports_alpha = False win = gtk.Window() hbox = gtk.HBox(False,0) vbox = gtk.VBox(False,0) Quitar = gtk.Button("quitar") imagen = gtk.Image() imagen.set_from_file("folder.png") nuevo1 = gtk.Button("nuevo1") def ejemplo(widget,event,data="....."): print data def quitar(event): hbox.remove(Quitar) def agregar(event): hbox.pack_start(Quitar,False,False,0)#este si funciona hbox.pack_start(nuevo1,False,False,0)#aqui es donde no agrega nada nuevo2 = gtk.Button("nuevo2") hbox.pack_start(nuevo2,False,False,0) print "agregado" def quitarimagen(event): vbox.remove(imagen) def agregarimagen(event): vbox.pack_start(imagen,False,False,0)#aqui es donde no agrega nada imagen2 = gtk.Image() imagen2.set_from_file("info.xpm") vbox.pack_start(imagen2,False,False,0) print "agregada imagen" def main(args): win.set_title('Alpha Demo') win.connect('delete-event', gtk.main_quit) win.add_events(gdk.BUTTON_PRESS_MASK) win.set_default_size(920,460) Agregarimagen = gtk.Button("agregar imagen") Agregarimagen.connect("clicked",agregarimagen) Quitarimagen = gtk.Button("quitar imagen") Quitarimagen.connect("clicked",quitarimagen) hbox.pack_start(Agregarimagen,False,False,20) hbox.pack_start(Quitarimagen,False,False,20) Agregar = gtk.Button("agregar") Agregar.connect("clicked",agregar) hbox.pack_start(Agregar,False,False,20) #Quitar = gtk.Button("quitar") Quitar.connect("clicked",quitar) hbox.pack_start(Quitar,False,False,20) #vbox = gtk.VBox(False,0) vbox.pack_start(hbox,False,False,0) vbox.pack_start(imagen,False,False,0) win.add(vbox) win.show_all() gtk.main() return True if __name__ == '__main__': sys.exit(main(sys.argv))
_______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/