Señales en py-gtk

Marco Antonio Islas Cruz markuz en islascruz.org
Vie Nov 2 17:23:19 CET 2007


Hola, antes de crear una senial debes asegurarte de que no haya sido
creada antes.

if gobject.signal_lookup("data_entered",self) == 0:
    gobject.signal_new("data_entered", 
        Ventana, 
        gobject.SIGNAL_RUN_LAST,
        gobject.TYPE_NONE, ())



On Fri, 2007-11-02 at 10:11 -0500, Jorge OP wrote:
> Hola, estoy creando una clase que utiliza una señal personalizada para
> comunicarse y tengo un problema que espero me puedan ayudar a solucionar.
> Trato de explicar el contexto:
> 
> - Mi programa crea inicialmente un menu donde el usuario debe escoger una
> opción.
> - El usuario escoje y mi programa lanza una ventana que usa señales
> personalizadas para comunicarse.
> - La ventana funciona muy bien, hace lo que debe hacer y termina regresando
> al menu inicial
> - Si el usuario vuelve a escoger la misma opcion, ya no vuelve a funcionar y
> se cierra el programa.
> 
> La señal la estoy creando asi:
> 
> class Ventana(gtk.Window):
> 
>     def __init__(self):
>         ## Defino la ventana, y sus controles
>         ## Creo la nueva señal:
> 
>         gobject.signal_new("data_entered", Ventana, gobject.SIGNAL_RUN_LAST,
> gobject.TYPE_NONE, ())
> 
>         ## Aqui viene el resto de la definicion de la clase......
> 
> Como dije arriba, la primera vez que se ejecuta funciona muy bien. El
> problema es la segunda vez que me sale un warning como este:
> 
> Warning: gsignal.c:1251: signal "data_entered" already exists in the
> `GtkWindow' class ancestry
> 
> y luego termina con un error:
> 
> RuntimeError: could not create signal
> 
> Lo que entiendo es que la nueva señal (data_entered) la está asignando a la
> clase padre GtkWindow y no a mi clase Ventana (a pesar que en la funcion
> signal_new yo le indico lo contrario). Qué puede estar pasando? Cualquier
> idea o ayuda será bienvenida.
> 
> Muchas gracias
> _______________________________________________
> Lista de correo Python-es 
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
-- 
<--Linux... Because I'm Free-->
Marco Antonio Islas Cruz
"Markuz"
Linux User #280229
markuz en islascruz.org
markuz en unixmexico.org
markuz en linuxpozarica.com
marco.islas en gmail.com
islacruz en yahoo.com
http://www.islascruz.org
http://sourceforge.net/projects/gpkg/
http://www.linuxpozarica.com
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://mail.python.org/pipermail/python-es/attachments/20071102/49958700/attachment.pgp>
------------ 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