PyQt5和SystemHotKey构造全局热键
包的选择
- 测试了3个热键库,最终SystemHotKey库使用最简单,安装方法
pip3 install system_hotkey
官方地址:https://github.com/timeyyy/system_hotkey
- 简易的demo,搬运官方
from system_hotkey import SystemHotkey
hk = SystemHotkey()
hk.register(('control', 'shift', 'h'), callback=lambda x: print("Easy!"))
一个简单的思路
- 准备一个PyQt信号,和一个热键信号
sig_keyhot = pyqtSignal(str)
self.hk_start = SystemHotkey()
- 绑定热键信号到Pyqt信号
self.hk_start.register(('control','1'),callback=lambda x:self.send_key_event("start"))
def send_key_event(self,i_str):
self.sig_keyhot.emit(i_str)
- 绑定PyQt信号和PyQt槽
self.sig_keyhot.connect(self.MKey_pressEvent)
- 至此流程闭环
完整demo
- demo
from system_hotkey import SystemHotkey
from PyQt5.QtWidgets import QApplication,QWidget,QDialog
from PyQt5.QtCore