PyQT 监听全局键盘和鼠标事件
我正在尝试写一个应用程序,这个程序可以监听系统中所有的键盘和鼠标事件,并且对符合特定模式的事件做出反应。
我打算让这个应用程序在后台运行。不是的,这不是一个键盘记录器,它是一个有正当目的的应用。
我计划使用PyQT或者更可能是PySide来开发这个应用。监听事件在应用窗口聚焦时相对简单,但如果根本没有窗口,我该怎么做呢?
我特别是在使用OS X,但我更希望有一个跨平台的解决方案。
1 个回答
0
我觉得你几乎肯定需要一个第三方库来解决这个问题。
我自己没有使用过,但有一个叫做 Qxt 的扩展库,它里面有一个 QxtGlobalShortcut 类。而且还有一个叫 pygs 的库可以让你在 PyQt 中使用。看起来这两个项目都支持主要的平台。
编辑
抱歉,我没有仔细看你的问题。显然你需要的不仅仅是全局快捷键 :(
经过进一步研究,我发现 QAbstractEventDispatcher.setEventFilter 可能是个不错的选择。不过,结果发现 Qt 只会过滤发送到应用程序的事件,而不会处理系统范围内的事件。所以看起来确实需要一个第三方库来解决这个问题。