Problemas con función xml_new_from_buffer usando Glade

Oliver Gutérrez ogutsua en gmail.com
Mie Jul 9 14:26:51 CEST 2008


Hola Beni. Yo también suelo cargarlos como tu. El problema está en que
para esta aplicación me interesa modificar el fichero .glade de forma
dinámica antes de cargarlo y necesito usar la función
xml_new_from_buffer. De todos modos, en el anterior correo especifiqué
que el fichero me carga sin problemas al usar el método que tu comentas.

Creo que es un bug, pero necesitaría confirmarlo. ¿Alguien lo ha
intentado?. Por lo que veo el problema tiene que ver con la carga de un
pixmap desde un archivo, y el archivo de imágen he probado a ponerlo en
todos los sitios lógicos (pixmaps/imagen.png, imagen.png, directorio
pixmaps del sistema, etc).

Saludos


El mié, 09-07-2008 a las 08:17 +0200, Beni escribió:

> 2008/7/9 Oliver Gutérrez <ogutsua en gmail.com>:
> 
> > Buenas a todos los de la lista
> >
> > Llevo intentando dilucidar por que está ocurriendo esto en PyGTK con
> > Glade. El mismo fichero que estoy cargando desde la consola, lo cargo
> > con gtk.glade.XML y me carga sin problemas.
> >
> > A alguien más le pasa? es un bug como pienso?
> >
> > Saludos y gracias a todos. Adjunto el código de demostración del error
> >
> > revil en azazel:~/Eclipse/EVOGTK/src$ python
> > Python 2.5.2 (r252:60911, Apr 21 2008, 11:12:42)
> > [GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2
> > Type "help", "copyright", "credits" or "license" for more information.
> > >>> import gtk
> > >>> from gtk import glade
> > >>> fd=open('test.glade')
> > >>> buf=fd.read()
> > >>> fd.close()
> > >>> glade.xml_new_from_buffer(buf,len(buf))
> > __main__:1: Warning: g_path_get_dirname: assertion `file_name != NULL'
> > failed
> > __main__:1: GtkWarning: gdk_pixbuf_new_from_file: assertion `filename !=
> > NULL' failed
> > Fallo de segmentación
> >
> 
> Yo cargo mis archivos glade de esta forma, no se si te servirá:
> 
> self.wTree = gtk.glade.XML("file.glade", 'app_main')
> self.wTree.signal_autoconnect(self)
> self.wTree.get_widget("app_main").show()
> 
> app_main es la ventana principal de la aplicación.
> 
> Luego hay que hacer una llamada: gtk.main()
> 
> Saludos.
> _______________________________________________
> Lista de correo Python-es 
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es