Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/02/2009, 18:03
kurt256
 
Fecha de Ingreso: febrero-2009
Mensajes: 5
Antigüedad: 15 años, 9 meses
Puntos: 0
Una duda pequeña con Python + GTK

Buenas, estuve leyendo algunos manuales sobre Python y GTK, y tengo algunas dudas:

El ejemplo en cuestion es sacar una ventana con un boton y que al hacer click al boton salga un mensaje por el terminal

El ejemplo en si lo entiendo, lo que pasa es que quiero utilizar el Patron Comando

El codigo sin patrones es masomenos asi

fichero: hola.py

Código:
import ...
...

class HolaMundo:
...

      def hola (self, widget, data=None):
          print "Hola mundo"
 
      ....
 
      def __init__ (self):
          # crear ventana
          # crear boton
          self.boton.connect ("clicked", self.hola, None) # conectando evento clicked al boton
          ...
 
          ...
Bien, como os dije ese ejemplo funciona y lo entiendo.

Como seria usando el patron Comando ?

Implemente una clase comando.py para simular esto pero no se si esta bien (aunque funciona):

fichero comando.py

Código:
class ComandoClick:
      def __call__ (self, *args):
          print "Hola Mundo"
y luego
fichero: hola.py

Código:
import ...

from comando import ComandoClick  # Importamos la clase (es esto la relacion cliente ??)

class HolaMundo:
      ...
      ....
 
      def __init__ (self):
          # crear ventana
          # crear boton
          
          self.click = ComandoClick()
         self.boton.connect ("clicked", self.click) # conectando evento clicked al boton
          ...
 
          ...
Esa solucion funciona, pero tengo unas dudad:

1. lo de "from comando import ComandoClick" es una forma de usar la relacion cliente ?
2. No entiendo bien lo de "def __call__ (self, *args)"
3. Estoy usando el patron Comando el la solucion que he dado ?

Gracias