Ok, reading about the scoping problem with lambda i now understand the problem,
activated it is the bool emitted from the clicked signal so i have changed it to:
lambda activated, m=msg: self.changeStatus(m, activated)
and now works correctly, thanks Brian. If i have understand the way that lam
You are seeing a scoping issue, to be safe, I would write the lambda as follows
lambda changeStatus=self.changeStatus,m=msg,a=activated: changeStatus(m,a)
This ensures that the bindings of self, activated and msg are what you expect
when the lambda function is executed.
On 4/2/09 7:16 PM, "Lino
Hello,
i suppose i am making any mistake here but i dont know why, for example:
for checkbox, msg in ((self.printedCheckBox, "printed"), (self.finishedCheckBox,
"finished")):
self.connect(checkbox, SIGNAL("clicked(bool)"), lambda activated:
self.changeStatus(msg, activated))
This one