[pygtk] popup with submenu

Yuri Pimenov yuri.pimenov at gmail.com
Sat Nov 25 22:18:22 WST 2006


Hi.

I have a popup menu with a submenu. My problem is what
menuitems in the submenu dont emit 'activate' signal until i press
LMB on the menuitem with the submenu attached.

debian/unstable
pygtk 2.8.6-5 with gtk 2.8.20-1

Here is the code:
#!/usr/bin/env python

import pygtk
pygtk.require('2.0')

import gtk

class App:
    def __init__(self):
        mi = gtk.MenuItem('submenu')
        mi.connect('activate', self.item_activated)
        mi.show()

        submenu = gtk.Menu()
        submenu.append(mi)

        mi = gtk.MenuItem('menu')
        mi.set_submenu(submenu)
        mi.show()

        menu = gtk.Menu()
        menu.append(mi)

        window = gtk.Window()
        window.add_events(gtk.gdk.BUTTON_RELEASE_MASK)
        window.connect('button-release-event', self.show_menu, menu)
        window.show()

    def show_menu(self, w, e, menu):
        menu.popup(None, None, None, e.button, e.time)
        return False

    def item_activated(self, item):
        print "activated"

app = App()
gtk.main()

--
Yuri Pimenov


More information about the pygtk mailing list