Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2012, 14:31
Avatar de Carlangueitor
Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 9 meses
Puntos: 1329
Función con parámetros como argumento

Hola,

Quería saber si hay una forma de pasar una función con parámetros como argumento, por ejemplo supongamos que tengo una clase:

Código Python:
Ver original
  1. class Foo:
  2.     def bar(self, param):
  3.         OtraClase.candy(self.func)
  4.     def func(self, oparam):
  5.         print oparam

Y se ejecuta, de esta manera en otro módulo:
Código Python:
Ver original
  1. test = Foo()
  2. test.bar(param)

Como ven, lo que falta en es que en la linea 3, cuando le paso la función, debo pasarle los parámetros, pero no se como. Se trata de una interfaz con PyQt.

Edito:

El código pyqt de mi clase original:

Código Python:
Ver original
  1. class Ui_MainWindow(object):
  2.    
  3.     def setupUi(self, MainWindow):
  4.         #Varios Elementos Más
  5.         QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL('clicked()'), self.getExcel)
  6.    
  7.     def getExcel(self, MainWindow):
  8.         ''' Obtener Archivo Excel '''
  9.         from excel import Excel
  10.         self.rutaExcel = QtGui.QFileDialog.getOpenFileName()
  11.         if(self.rutaExcel.length() > 0):
  12.             #Aquí necesito pasar el parametro
  13.             dialog = QtGui.QDialog(MainWindow)
  14.             self.prueba = Ui_Dialog()
  15.             self.prueba.setupUi(dialog)
  16.             dialog.show()
  17.             self.data = Excel.leerExcel(self.rutaExcel, 1);
  18.         else:
  19.             print "Cancelado"
Archivo Completo.

Y lo llamo desde mi main:

Código Python:
Ver original
  1. # -*- coding: utf-8 -*-
  2.  
  3. ''' Registro de Fonaes v0.0.1b
  4. '''
  5. from main_window import Ui_MainWindow
  6. from PyQt4 import QtGui
  7.  
  8. if __name__ == "__main__":
  9.     import sys
  10.     app = QtGui.QApplication(sys.argv)
  11.     MainWindow = QtGui.QMainWindow()
  12.     ui = Ui_MainWindow()
  13.     ui.setupUi(MainWindow)
  14.     MainWindow.show()
  15.     sys.exit(app.exec_())


¿Alguna idea?

Saludos
__________________
Grupo Telegram Docker en Español

Última edición por Carlangueitor; 15/02/2012 a las 17:25