Tema: Scoping
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/12/2009, 21:24
Avatar de korg1988
korg1988
 
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: Scoping

En un archivo Controller.py tengo esto

Código Python:
Ver original
  1. #!/usr/bin/env python
  2. import gtk
  3. from gtk import glade
  4. import os
  5. import sys
  6.  
  7. class Controller:
  8.    
  9.     def __init__(self):        
  10.         #Cargo la ventana principal
  11.         self.ui = glade.XML("app.glade", None, None)
  12.        
  13.         self.setObjects()
  14.         self.connectAll()
  15.        
  16.     def start(self):
  17.         self.mainWindow.show()
  18.         gtk.main()
  19.        
  20.     def setObjects(self):
  21.         #Ventana principal
  22.         self.mainWindow = self.ui.get_widget("mainWindow")
  23.         self.loginWindow = self.ui.get_widget("loginWindow")
  24.         self.aboutWindow = self.ui.get_widget("aboutWindow")
  25.        
  26.     def connectAll(self):
  27.         self.ui.signal_connect("on_mainWindow_destroy", self.__on_mainWindow_destroy)
  28.         self.ui.signal_connect("on_mwMenuItemConnect_activate", self.__on_mwMenuItemConnect_activate)
  29.         self.ui.signal_connect("on_mwMenuItemAbout_activate", self.__on_mwMenuItemAbout_activate)
  30.  
  31.  
  32.     """ Events """
  33.    
  34.     def __on_mainWindow_destroy(self, *argv):
  35.         gtk.main_quit()
  36.         sys.exit()
  37.        
  38.     def __on_mwMenuItemAbout_activate(self, *argv):
  39.         self.aboutWindow.show()
  40.        
  41.     def __on_mwMenuItemConnect_activate(self, *argv):
  42.         self.loginWindow.show()


En otro Base.py tengo esto
Código Python:
Ver original
  1. #!/usr/bin/env python
  2. import Controller
  3.  
  4. if __name__ == "__main__":
  5.     app = Controller.Controller()
  6.     app.start()

Ahora bien!, yo desde otro modulo quiero acceder desde una funcion definida en ese modulo al objeto "app"

el archivo es functions.py y tiene definidas unas funciones de las cuales algunas queria que accedan a app
pero no lo he logrado!... me tira un error de

'module' object has not attribute 'app'

probe importando el archivo base.py como modulo
import base

pero me tiro otros errores mas jaja