Sto cercando di creare una calcolatrice con PyQt4 e il collegamento dei segnali "clicked()" dai pulsanti non è come previsto. Sto creando i miei pulsanti per i numeri all'interno di un ciclo for in cui provo a collegarli in seguito.Connessione di slot e segnali in PyQt4 in un loop
def __init__(self):
for i in range(0,10):
self._numberButtons += [QPushButton(str(i), self)]
self.connect(self._numberButtons[i], SIGNAL('clicked()'), lambda : self._number(i))
def _number(self, x):
print(x)
Quando faccio clic sui pulsanti, tutti loro stampano '9'. Perché è così e come posso risolvere questo problema?
L'utilizzo di 'functools.partial' è un'ottima idea. +1 – delnan
Grazie. Vado con la soluzione functools.partial. – lukad