On 12/4/05, Diez B. Roggisch <[EMAIL PROTECTED]> wrote: > Ben Bush wrote: > > I tested the following code and wanted to get the message of "oval2 > > got hit" if I click the red one. But I always got "oval1 got hit". > > from Tkinter import * > > root=Tk() > > canvas=Canvas(root,width=100,height=100) > > canvas.pack() > > a=canvas.create_oval(10,10,20,20,tags='oval1',fill='blue') > > b=canvas.create_oval(50,50,80,80,tags='oval2',fill='red') > > def myEvent(event): > > if a: > > Here is your problem. a is a name, bound to some value. So - it is true, > as python semantics are that way. It would not be true if it was e.g. > > False, [], {}, None, "" > > > What you want instead is something like > > if event.source == a: > ... > > Please note that I don't know what event actually looks like in Tkinter, > so check the docs what actually gets passed to you.
got AttributeError: Event instance has no attribute 'source' -- http://mail.python.org/mailman/listinfo/python-list