Hi Malcolm, Thus spoketh pyt...@bdurham.com unto us on Sat, 20 Nov 2010 18:09:58 -0500:
> Hi Michael, > > Thank you for your idea to use the <Motion> event. That works when I use > the mouse, but it doesn't work when a user uses the cursor keys to move > between menu items. sure, you're right, I didn't think of that. > > I can trap the <<MenuSelect>> event - I just need a way to determine the > current menu widget and its active index. > > The event object passed to the function I bind to has event.widget > reference to a string vs. a widget. Do you have any ideas on how I can > determine the active menu widget and its active index independent of a > current event object? Thank god, Tkinter offers a solution which is actually much easier than my first example :) ######################## from Tkinter import * root = Tk() m = Menu(root) m.add_command(label='foo') m.add_command(label='bar') m.add_command(label='blah') root.bind('<3>', lambda event: m.tk_popup(event.x_root, event.y_root)) def callback(event): print event.widget.index('active') m.bind('<<MenuSelect>>', callback) root.mainloop() ######################### Regards Michael .-.. .. ...- . .-.. --- -. --. .- -. -.. .--. .-. --- ... .--. . .-. Every living thing wants to survive. -- Spock, "The Ultimate Computer", stardate 4731.3 _______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org http://mail.python.org/mailman/listinfo/tkinter-discuss