exhuma.twn said:
Some code:
----------------------------------------------------------------------
def foobar(w):
print w
QtCore.QObject,connect( my_line_edit,
QtCore.SIGNAL("returnPressed()"), foobar )
----------------------------------------------------------------------
How can I get this to work so "foobar" prints out the sender of the
signal (i.e. my_line_edit)?
I _think_ there is a way to get the signals sender in Qt itself. But I'm
unsure how to get that.
Alternatively, you can use a closure to create a reference:
def foobar(source, w):
print w
def slotgen(source, slot):
def _slot(*args):
return slot(*((source,) + args))
return _slot
my_slot = slotgen(my_line_edit, foobar)
QtCore.QObject,connect( my_line_edit,
QtCore.SIGNAL("returnPressed()"), my_slot )
However, be careful to keep a reference to my_slot around! Otherwise, it
will be garbage collected!
diez