0
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が呼び出されるように、キーc​​tr + eを登録しようとしていますが、機能しないのはなぜですか?

4

1 に答える 1

1

私が言ったことの1つは、コールバックは次のようになる必要があるということです。

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

これがお役に立てば幸いです:)まだ問題が解決しない場合は、発生したエラーに関する詳細情報をお知らせください。

于 2011-01-05T17:41:24.720 に答える