Бесстыдно скопировано с http://effbot.org/zone/tkinter-callbacks.htm Вы можете попробовать что-то вроде:
def callback(number):
print "button", number
Button(text="one", command=lambda: callback(1))
Button(text="two", command=lambda: callback(2))
Button(text="three", command=lambda: callback(3))
Если вы хотите, чтобы экземпляр Button был аргументом обратного вызова, вы можете сделать что-то вроде:
import Tkinter
class ButtonBis(Tkinter.Button):
def __init__(self, master=None, cnf={}, **kw):
Tkinter.Button.__init__(self, master, cnf, command =self.callback, **kw)
def callback(self):
#Or whatever you want to do with self
print "clicked!", self.cget('text')
b = ButtonBis(text="one")
b.pack()
b = ButtonBis(text="two")
b.pack()
b = ButtonBis(text="three")
b.pack()
Tkinter.mainloop()