< snip second buggy solution >
So all I am seeing is that these things of anonymous/lambda functions
are evil in Python, because of the lexical/binding thing...
Well lambda's are not evil per-se, although they do have a few
quirks. Technically though, this:
g = lambda x: f(x)
is same as this
def g(x):
return f(x)
lambdas just have a few limitations of what you can put in the body
(i.e. only one expression, no statements).
Anyway, your other email seems to have a better way of solving
this, and
it's now working great. So thank you for your help :-)
I'm glad you got it working. I'm surprised that the first version
actually worked--it should give you the same problem as your original
solution. FWIW, my second version was buggy too, so here's the third
attempt. I should probably refrain from posting untested code...
def make_slot(button):
def slot():
self.button_clicked(button)
button.__slot = slot
return slot # forgot this on the previous version
for button in [ ... ]:
QtCore.QObject.connect( ... , make_slot(button))
~ Daniel
_______________________________________________
PyQt mailing list [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt