[EMAIL PROTECTED] wrote: > 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. > I'm hoping you have simply mis-stated your correct understanding of the problem, and that what you really propose to do is create a button class of which each button in your interface is an instance.
Let's suppose you want each button to toggle between two colors, but that the colors for each button are different. The thing to do is create a button class that subclasses the button class of your GUI package (whatever that may be), storing the required color values as instance attributes. In wxPython, for example, I would write something like (warning: untested): import wx class myButton(wx.Button): def __init__(self, color1, color2, *args, **kw): wx.Button.__init__(self, *args, **kw) self.c1 = color1 self.c2 = color2 self.state = False def onClick(self, event): if self.state: self.SetBackgroundColor(self.c1) else: self.SetBaclgroundColor(self.c2) self.state = not self.state Then when you create a button with, say, but1 = myButton(wx.RED, wx.BLUE, ...) you can associate a click on that button with a bound instance method, which you'd do in wxPython like: wx.EVT_BUTTON(parent, but1, but2.onClick) but similar considerations apply to Tkinter, and you appear to have the wit to be able to extend the argument to that toolkit. regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC www.holdenweb.com PyCon TX 2006 www.python.org/pycon/ -- http://mail.python.org/mailman/listinfo/python-list