tkinter button command
Christopher T King
squirrel at WPI.EDU
Wed Aug 4 14:57:00 CEST 2004
On Wed, 4 Aug 2004, Ajay wrote:
> if i set two buttons to call the same function when they are pressed, is
> there any way, within the function of knowing which button invoked it.
Not built-in to Tkinter, but you can easily get such behaviour using
lambda like so:
>>> from Tkinter import *
>>> def click(which):
... print which, 'was clicked!'
>>> button1 = Button(text='Button 1',command=lambda: click('number 1'))
>>> button2 = Button(text='Button 2',command=lambda: click('number 2'))
lambda: will wrap the call to click() up in a function. You can call
click() with any arguments this way; instead of strings, you could use
integers or a reference to the object itself (though you'd have to set
command after creating the button to do this).
More information about the Python-list