Gtk Keybinder没有回复

时间:2013-10-02 20:27:37

标签: python linux gtk

我在Keybinder应用程序中使用Gtk+3,但它没有得到任何组合键。 这是代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import gi
gi.require_version('Keybinder', '3.0')
from gi.repository import Keybinder
from gi.repository import Gtk


def test_func(data):
    print data


if __name__ == '__main__':
    wnd = Gtk.Window()
    wnd.connect('delete-event', Gtk.main_quit)
    wnd.show_all()

    if not Keybinder.bind('<Super>q', test_func, 'Hi there!'):
        print "Keybinder.bind() failed."

    Gtk.main()

我希望程序在按test_func键组合时执行Windows+q,但它什么都不做。 我在Debian Jessie上使用xfce4运行它,如果它有所作为。

1 个答案:

答案 0 :(得分:1)

当你使用基于GIR的Python绑定时,我很确定你需要调用

Keybinder.init()
在从Keybinder库调用任何其他函数之前手动

(据我所知,静态python-keybinder Python绑定会为您执行此操作,但内省绑定不会这样做。)