def activate(self,shell):
        self.shell = shell
        self.action = gtk.Action ('foo','bar','baz',None)
        self.activate_id = self.action.connect ('activate', self.call_bk_fn,self.shell)
        self.action_group = gtk.ActionGroup ('hot_key_action_group')
        self.action_group.add_action_with_accel (self.action, "<control>E")

        uim = shell.get_ui_manager ()
        uim.insert_action_group (self.action_group, 0)
        uim.ensure_update ()
def call_bk_fn(self,shell):
                print('hello world')

我使用在Rhythmbox的插件上面的代码,在这里我试图使call_bk_fn被调用每当组合键被按下时,注册CTR键+ E,但其没有工作,为什么会这样呢?

有帮助吗?

解决方案

一两件事,我做的话是你的回调应该是这样的:

def call_bk_fn(self, event, shell):
    print('hello world')

希望这能帮助:),如果你仍然有一些问题,我想你应该给我们介绍一下时引发错误的详细信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top