On 15/03/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > I am looking at Tix and I am stuck with what seems to be a simple problem: > > I want to bind the cancel buttom of a ExFileSelectBox to a routine in my > class, but can not make it work. > I guess the problem is the same for any binding of tix sub-widgets, so if > someone could send some sample code. > >>> import Tix > >>> root = Tix.Tk() > >>> box = Tix.ExFileSelectBox(root) > >>> print box.subwidget(name='cancel') > .11827520.bf.cancel #so the sub-widget cancel > buttom is there > > But how to bind it ? > > >>> box.cancel(command = lambda a,b : a+b ) > Traceback (most recent call last): > File "<pyshell#12>", line 1, in ? > box.cancel(command = lambda a,b : a+b ) > AttributeError: _dummyButton instance has no __call__ method > > Or > > >>> box.subwidget(name='cancel' , command = lambda a,b : a+b ) > Traceback (most recent call last): > File "<pyshell#13>", line 1, in ? > box.subwidget(name='cancel' , command = lambda a,b : a+b ) > TypeError: subwidget() got an unexpected keyword argument 'command' > > So, it seems I can not bind to command, but what then ? > >From the Tix docu I thought the buttoms are normal Tkinter widgets ? > -- > Harm
Here's what I got from a little experimentation and print box.cancel.bind.__doc__. >>> def bar(action): ... print action >>> import Tix >>> root = Tix.Tk() >>> box = Tix.ExFileSelectBox(root) >>> box.pack() >>> box.cancel.bind("<ButtonPress-1>", bar) '-1212073588bar' >>> <Tkinter.Event instance at 0xb779c0ec> <Tkinter.Event instance at 0xb779c0ec> <Tkinter.Event instance at 0xb779c0ec> If you have a look at box.cancel.bind.__doc__ you can find everything you can put into the SEQUENCE string "<ButtonPress-1>" is left mouse click. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor