TkInter callback - how to ?

Timothy R Evans tre17 at
Wed Jun 23 19:39:05 EDT 1999

bernard <bh at> writes:

> I have an array of buttons (a keypad) all using the same callback
> function - is there any way of finding out which button invoked
> the callback ? I suppose I am looking for a tcl/tk solution
> something like
>   -command "myCallback $thisButton"
> but tkInter only seems to provide
>   -command myCallback
> Any help welcome
> bernard

I posted a `Command' class that solves this a while ago, here it is

class Command:
    def __init__(self, func, *args, **kw):
        self.func = func
        self.args = args = kw

    def __call__(self, *args, **kw):
        args = self.args + args
        apply(self.func, args, kw)

then do this:

command=Command(myCallback, thisbutton)

The class given is rather general, and I'm not quite sure if my
precedence for the keyword arguments makes sense.  As you won't use
the keyword arguments this won't matter.

Tim Evans

More information about the Python-list mailing list