如何更改 gtk 中的 Accel 键绑定以编程方式菜单?
在 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])不会自动更新菜单项。请帮忙
Coded in pygtk, I created the program menu this way:
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)
The menu shows up as expected, but what I don't understand is: how to change accelerator keys previously assigned to the menu from other methods and/or modules?
Changing accel's variable values (shortcut[0] and shortcut[1]) did not automatically updates the menu entry. Please help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以这样做。 (免责声明:我正在即时从 C 语言翻译它)
例如,这使其成为 Ctrl-T。
False
表示如果已使用 Ctrl-T,则不要设置新的加速器。You can do it like this. (Disclaimer: I'm translating it from C on the fly)
This makes it Ctrl-T, for example. The
False
means don't set the new accelerator if Ctrl-T is already used.