Il Mon, 31 Oct 2005 06:23:12 -0800, [EMAIL PROTECTED] 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





-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to