Mensajes entre instancias.

Pepe Aracil pepe en diselpro.com
Vie Mar 10 13:02:04 CET 2006


Hola.

Tengo que diseñar una aplicación GUI un tanto compleja. En el sentido de que un 
evento producido en una ventana produce cambios en los widgets de otras ventanas 
  y estas se crean de forma dinámica.

Por ejemplo si en la ventana principal, pulso el botón "conectar" se produce un 
torrente de cambios en los widgets de otras ventanas, que por ejemplo antes 
estaban inactivos y ahora que el sitema está "conectado" deben estar activos.

El caso es que en la función CallBack que se activa cuando se pulsa el boton 
"conectar" es inviable ir activando todos los widgets afectados por esta acción 
uno a uno.

¿Cual es la mejor forma para resolver esta situación.?

Se me ha ocurrido crear una clase llamada Messages cuya unica instancia será 
referenciada por todos los objetos que necesiten recibir ó enviar mensajes a 
otros objetos.

por ejemplo:

 >>messages.broadcast("connect")

esto transmite el mensaje "connect" a todas las instancias subscritas a messages.

En fin, que me da la sensación de estar reinventando la rueda y por eso me 
gustaria saber si ya existe algo ya hecho que no sea el sistema de paso de 
mensajes y eventos del propio toolkit.



Saludos.




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