exhuma.twn wrote:

> 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
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to