diumenge, 6 de juny de 2010

Passar una variable en SIGNAL/SLOT python

Una d'aquestes coses que m'ha fet ballar el cap durant força temps, és saber com carai passar una variable en el moment de connectar un objecte amb SIGNALS i SLOT.

Doncs tan simple com això...

Si aquest és el format normal:
self.connect(self.boto, QtCore.SIGNAL("clicked()"), self.funcio)

Aquest és amb la variable que volem arrossegar(parts noves en verd):
self.connect(self.boto, QtCore.SIGNAL("clicked("+str(self.var)+")"), QtCore.SLOT (self.funcio(self.var)))

Evidentment, caldrà afegir la variable d'entrada a la definició de la funció:
def funcio (self, v):
...