title: Tkinter generate and invoke virtual event between different widgets
body: <p>during writing some simple gui app in tkinter I met some small problem. Let's say I have custom menu widget (derived from tk.Menu) and custom canvas widget (derived from tk.Canvas). </p>
  
  <p>I would like to generate event from menu callback function and invoke it in canvas widget. I need to do it that way because it future I would like to add more widgets which should react to clicked position in the menu.</p>
  
  <p>I tried to do it that way:</p>
  
  <p>custom menu:</p>
  
  <pre><code>class MainMenu(tk.Menu):
  
      def __init__(self, parent):
         tk.Menu.__init__(self, parent)
         self.add_comand(label='foo', self._handler)
         return
  
      def _handler(self, *args):
          print('handling menu')       
          self.event_generate('&lt;&lt;abc&gt;&gt;')
          return
  </code></pre>
  
  <p>custom canvas:</p>
  
  <pre><code>class CustomCanvas(tk.Canvas): 
      def __init__(self, parent, name=''):
          tk.Canvas.__init__(self, parent)
          self.bind('&lt;&lt;abc&gt;&gt;', self.on_event)
          return
  
      def on_event(self, event):
         print(event)
         return
  </code></pre>
  
  <p>When I click position in menu, _handler callback is invoked properly and event &lt;> is generated, but on_event callback is no invoked. I've tried to add when='tail' parameter, add self.update() etc. but without any result. Anybody knows how to do it?</p>