[pyar] PyQt cargar interfaces de forma dinámica
Roberto Alsina
ralsina en netmanagers.com.ar
Mar Jun 5 15:05:27 ART 2012
On 06/05/2012 02:51 PM, Federico Apelhanz wrote:
>
> En fin, no se si hay una forma más prolija de hacerlo, pero quedo, por
> cierto, re leyéndote, a lo que me referia que no podia pasarle
> parámetros era al metodo al que conecto el evento:
> anda:
> MainWindow.connect(self.action,QtCore.SIGNAL('triggered()'),
> self.cargarFormularioDeFormaDinamica)
>
> no anda
> MainWindow.connect(self.action,QtCore.SIGNAL('triggered()'),
> self.cargarFormularioDeFormaDinamica(MainWindow)))
>
> lo cual es medio choto si quiero tener métodos más genericos para los
> eventos, porque me obliga a usar main window como global.
Dos cosas: 1) Si podes. 2) Pensemos un poquito mas :-)
Primero lo segundo:
El problema es que no tenes bien separadas las cosas.
Ese metodo cargarFormularioDeFormaDinamica (que nombre feo! ;-), es de
algún objeto. Si ese objeto no es MainWindow, pero necesita a MainWindow
para funcionar, deberia tener guardada una referencia. Si es MainWindow,
bueno, usás self :-)
Ahora lo primero:
Bueno, mejor lo anterior a lo primero:
Usá la sintaxis nueva, por favor!
self.action.triggered.connect(self.cargarXXX)
Y para hacer lo que queres:
self.action.triggered.connect(lambda: self.cargarXXX(MainWindow))
Saludos,
More information about the pyar
mailing list