Thread View: es.comp.os.linux.programacion
4 messages
4 total messages
Started by VIC
Tue, 24 Aug 1999 00:00
Problema programando con Gtk
Author: VIC
Date: Tue, 24 Aug 1999 00:00
Date: Tue, 24 Aug 1999 00:00
10 lines
901 bytes
901 bytes
Hola, Quisiera plantear una problema que me surgio mientras programaba una aplicacion usando gtk. Si por cualquier razon se para una funcion conectada a un boton (esperando una pulsacion del teclado o un movimiento del raton por ejemplo), toda la aplicacion se detiene tambien y deja de responde a los eventos. �Como se puede evitar esto? Gracias de antemano. VIC. vic@ceramica.incar.csic.es
Re: Problema programando con Gtk
Author: Luigi
Date: Thu, 26 Aug 1999 00:00
Date: Thu, 26 Aug 1999 00:00
31 lines
1490 bytes
1490 bytes
Hola, yo acabo de empezar a leer el manual de gtk, por lo que no estoy muy puesto en el tema. Se me ocurre que puedes lanzar la funci�n utilizando un proceso hijo (funci�n fork), de esta manera el proceso padre podr�a seguir con la ejecuci�n de la aplicaci�n, mientras el hijo trabaja por su parte. En la gu�a linux de programaci�n explican todo el proceso y la comunicaci�n entre procesos. Es una idea, espero que te sirva. Salu2. Luigi. S.U.S.E. 6.0 --- Linux User:135509 VIC escribi� en mensaje <935446622.124909269@news.mad.ttd.net>... >Hola, >Quisiera plantear una problema que me surgio mientras programaba una aplicacion usando gtk. >Si por cualquier razon se para una funcion conectada a un boton (esperando una pulsacion del >teclado o un movimiento del raton por ejemplo), toda la aplicacion se detiene tambien y deja >de responde a los eventos. >�Como se puede evitar esto? >Gracias de antemano. > >VIC. >vic@ceramica.incar.csic.es
Re: Problema programando con Gtk
Author: VIC
Date: Thu, 26 Aug 1999 00:00
Date: Thu, 26 Aug 1999 00:00
21 lines
1302 bytes
1302 bytes
On Thu, 26 Aug 1999, Luigi wrote: >Hola, yo acabo de empezar a leer el manual de gtk, por lo que no estoy muy >puesto en el tema. > >Se me ocurre que puedes lanzar la funci�n utilizando un proceso hijo >(funci�n fork), de esta manera el proceso padre podr�a seguir con la >ejecuci�n de la aplicaci�n, mientras el hijo trabaja por su parte. > >En la gu�a linux de programaci�n explican todo el proceso y la comunicaci�n >entre procesos. > >Es una idea, espero que te sirva. > > Ya pense en eso, y lo escribi en un thread diferente. El problema no desaparece. Estoy un poco perdido y quizas no se pueda hacer lo que busco. De todos modos muchas gracias. VIC. vic@ceramica.incar.csic.es
Re: Problema programando con Gtk
Author: Joaqu�n Cuenca Abela
Date: Fri, 27 Aug 1999 00:00
Date: Fri, 27 Aug 1999 00:00
62 lines
3145 bytes
3145 bytes
In article <935704125.865195104@news.mad.ttd.net>, VIC <vic@ceramica.incar.csic.es> wrote: > On Thu, 26 Aug 1999, Luigi wrote: > >Hola, yo acabo de empezar a leer el manual de gtk, por lo que no estoy muy > >puesto en el tema. > > > >Se me ocurre que puedes lanzar la funci�n utilizando un proceso hijo > >(funci�n fork), de esta manera el proceso padre podr�a seguir con la > >ejecuci�n de la aplicaci�n, mientras el hijo trabaja por su parte. > > > >En la gu�a linux de programaci�n explican todo el proceso y la comunicaci�n > >entre procesos. > > > >Es una idea, espero que te sirva. > > > > > > Ya pense en eso, y lo escribi en un thread diferente. El problema no desaparece. > Estoy un poco perdido y quizas no se pueda hacer lo que busco. De todos modos > muchas gracias. > > VIC. > vic@ceramica.incar.csic.es > No lo he comprobado, pero imagino que el problema viene de que no estas dando por finalizado el tratamiento de la se~nal... mira la parte del tutorial dedicada a las se~nales (cf. 18.2). Imagino (repito que no lo he comprobado) que cuando pulsas el boton, el bucle principal gtk_main le pasa el control a tu manejador de se~nal (el manejador que hayas indicado con gtk_signal_connect). Hasta que este manejador no termine no se le devolvera el control a gtk_main, y por tanto toda la aplicacion estara "congelada". Conclusion: La solucion tiene que pasar por "sacar" tu funcion de dentro del manejador de se~nal... lo de hacer un thread o un fork a primera vista parece una buena idea, pero creo que hasta hace muy poquito gtk+ no era multi-thread... vamos, que no creo que sea tan trivial. Puedes poner un ejemplo de lo que quieres hacer? Tal vez puedas arreglarlo con temporizadores. En vez de poner un delay (o lo que uses) tal vez puedas crear una funcion a la que se dentro de x milisegundos, asi no bloquearas el bucle gtk_main. Cuando se llame a la funcion puedes destruir el temporizador (para que asi no vuelva a llamarse a esta funcion dentro de otros x milisegundos). No se si esto te sera de ayuda. Si no es asi, pasame la funcion que quieres poner como manejador y le echo un vistazo. Un saludo! -- Joaqu�n Cuenca Abela e-mail: e98cuenc@criens.u-psud.fr Sent via Deja.com http://www.deja.com/ Share what you know. Learn what you don't.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads