Arguments for button command via Tkinter?
Francesco Bochicchio
bockman at virgilio.it
Mon Oct 31 10:58:48 EST 2005
Il Mon, 31 Oct 2005 06:23:12 -0800, dakman at gmail.com ha scritto:
> And yet the stupidity continues, right after I post this I finnally
> find an answer in a google search, It appears the way I seen it is to
> create a class for each button and have it call the method within that.
> If anyone else has any other ideas please tell.
This is how I do it: Supposing I have three buttons b1, b2 and b3, and I
want for each button to call the same callback with, as argument, the
button itself:
def common_callback(button):
# callback code here
class CallIt(objetc):
def __init__(function, *args ):
self.function, self.args = function, args
def __call__(self, *ignore):
self.function(button, *self.args)
b1['command']= CallIt(common_callback, b1)
b2['command']= CallIt(common_callback, b2)
b3['command']= CallIt(common_callback, b3)
This way you need only one class (a sort of custom callable) and
its instances gets called by Tkinter and in turn calls your
callback with the proper arguments.
Ciao
-----
FB
More information about the Python-list
mailing list