Menu 如何在gtk+;菜单编程?

Menu 如何在gtk+;菜单编程?,menu,pygtk,gtk,key-bindings,accelerator,Menu,Pygtk,Gtk,Key Bindings,Accelerator,用pygtk编码,我用以下方式创建程序菜单: def _create_menu manager = self._window.get_ui_manager() self.action_group = gtk.ActionGroup("SomeActions") self.action_group.add_actions([ ("Top", None, _("Main Menu")), ("Test", None, _("Test"), se

用pygtk编码,我用以下方式创建程序菜单:

def _create_menu
    manager = self._window.get_ui_manager()
    self.action_group = gtk.ActionGroup("SomeActions")
    self.action_group.add_actions([
        ("Top", None, _("Main Menu")),
        ("Test", None, _("Test"), self.shortcut[0], _("Test1"), self.cb_on_test),
        ("Other", None, _("Other"), self.shortcut[1], _("Test2"), self.cb_on_other)])
    manager.insert_action_group(self.action_group, -1)
    self.ui_id = manager.add_ui_from_string(ui_str)
菜单按预期显示,但我不明白的是:如何从其他方法和/或模块更改先前分配给菜单的快捷键?
更改accel的变量值(快捷方式[0]和快捷方式[1])不会自动更新菜单项。请帮帮忙,你可以这样做。(免责声明:我正在动态地将其从C翻译过来)

gtk.accel\u map\u change\u条目('/SomeActions/Test',gtk.keysyms.t,gtk.gdk.CONTROL\u MASK,False)

例如,这使它成为Ctrl-T。
False
表示如果已使用Ctrl-t,则不要设置新的加速器。

谢谢。这正是我想要的。我试过你的建议,它奏效了
gtk.accel_map_change_entry('<Actions>/SomeActions/Test', gtk.keysyms.t, gtk.gdk.CONTROL_MASK, False)