title: How to use <<MenuSelect>> to bind to a tkinter menu item selection
body: <p>I've been trying to bind a callback to a menu item selection, instead of using the command= functionality of the add_command method.</p>
  
  <p>However, it seems that no matter what I try it will only give me a proper index of the menu item ("Menu 1" and "Menu 2") when they are select, instead of the index of the buttons of the menu. When the button is pressed in will just print None.</p>
  
  <p>This is my current test code, but I've been trying a bunch of different stuff.</p>
  
  <pre><code>import tkinter as tk
  
  def menucallback(event):
      print(root.call(event.widget, "index", "active"))
  
  root = tk.Tk()
  
  # create menu
  menubar = tk.Menu(root)
  menu1 = tk.Menu(menubar, tearoff=0)
  menu1.add_command(label="Button 1")
  menu1.add_command(label="Button 2")
  menubar.add_cascade(label="Menu 1", menu=menu1)
  
  menu2 = tk.Menu(menubar, tearoff=0)
  menu2.add_command(label="Button 6")
  menu2.add_command(label="Button 7")
  
  menubar.add_cascade(label="Menu 2", menu=menu2)
  
  tk.Tk.config(root, menu=menubar)
  
  # bind to function
  menubar.bind("&lt;&lt;MenuSelect&gt;&gt;", menucallback)
  
  root.mainloop()
  </code></pre>
  
  <p>In case it matters, I'm on Windows 7 with Python 3.4</p>