Frage

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')

Ich bin mit den obigen Code in einem Plugin für rhythmbox, und hier bin ich versucht, den Schlüssel ctr + e zu registrieren, so dass die call_bk_fn aufgerufen wird, wenn die Tastenkombination gedrückt wird, aber es funktioniert nicht, warum ist das so?

War es hilfreich?

Lösung

Eine Sache, die ich tat Bemerkung ist, dass Ihr Rückruf so sein sollte:

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

hoffen Dies kann helfen :), wenn Sie immer noch ein Problem haben, ich glaube, Sie uns weitere Informationen über den Fehler geben sollte, die angehoben werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top