How to select a MenuItem programatically
        Posted  
        
            by 
                Shaung
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Shaung
        
        
        
        Published on 2010-10-20T06:22:51Z
        Indexed on 
            2010/12/30
            4:54 UTC
        
        
        Read the original article
        Hit count: 279
        
I am trying to add a global shortcut to a gtk.MenuItem which has a sub menu.
Here is my code:
import pygtk, gtk
import keybinder
dlg = gtk.Dialog('menu test')
dlg.set_size_request(200, 40)
menubar = gtk.MenuBar()
menubar.show()
menuitem = gtk.MenuItem('foo')
menuitem.show()
menubar.append(menuitem)
mitem = gtk.MenuItem('bar')
mitem.show()
menu = gtk.Menu()
menu.add(mitem)
menu.show()
menuitem.set_submenu(menu)
def show_menu_cb():
    menubar.select_item(menuitem)
keybinder.bind('<Super>i', show_menu_cb)
dlg.vbox.pack_start(menubar)
dlg.show()
dlg.run()
When I press the key menu pops up, I can then select items in the sub menu or press Esc to make it disappear. But after that the menuitem keeps selected and other windows never get input focus again. I have to click on the menuitem twice to get everything back normal.
© Stack Overflow or respective owner