Вопрос

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, и вот я пытаюсь зарегистрировать ключ CTR + E, чтобы звонить Call_bk_fn, когда нажата комбинация клавиш, но не работает, почему это так?

Это было полезно?

Решение

Одна вещь, которую я сделал замечание, это то, что ваш обратный вызов должен быть таким:

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

Надеюсь, это может помочь :), если у вас все еще есть проблемы, я думаю, что вы должны дать нам больше информации об ошибках, которые подняты.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top