我在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 Jessiexfce4上运行它。

最佳答案

当您使用基于GIR的Python绑定(bind)时,我确定您需要调用

Keybinder.init()

从Keybinder库调用任何其他函数之前,请先手动进行操作。

(据我所知,静态python-keybinder Python绑定(bind)可以为您完成此操作,但自省(introspection)绑定(bind)则不能。)

关于python - Gtk Keybinder没有响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19146239/

10-10 14:05