Re: [Python-es] Señales en py-gtk

Jorge OP ingjop en gmail.com
Vie Nov 2 17:59:19 CET 2007


Muchas gracias. Funciono muy bien :-)

Slds

On 11/2/07, Marco Antonio Islas Cruz <markuz en islascruz.org> wrote:
>
> 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
>
> _______________________________________________
> 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