RSS

サブメニュー付きメニュー

これもPythonで書く。メニューの生成部分しかないな。

        menu = Gtk.Menu()

        interval = Gtk.MenuItem()
        interval.set_label("Update interval")
        submenu = Gtk.Menu()
        for i in [1, 3, 5, 10, 30, 60]:
            c = Gtk.RadioMenuItem('interval')
            c.set_label(str(i))
            if i == self.interval:
                c.set_active(True)
            c.connect("toggled", self.update_interval, i)
            submenu.append(c)
        interval.set_submenu(submenu)
        menu.append(interval)

        about = Gtk.MenuItem()
        about.set_label("About")
        about.connect("activate", self.show_about_dialog)
        menu.append(about)

        quit = Gtk.MenuItem()
        quit.set_label("Quit")
        quit.connect("activate", Gtk.main_quit)
        menu.append(quit)

        menu.show_all()

set_activeを呼ぶと"toggled"のイベントが飛ぶのでconnectするのは後回しにしないとダメ。