在PyQt中,如果要捕获键盘事件的具体按键,可以通过重写组件对象的keyPressEvent方法或event方法来捕获具体的按键,推荐使用keyPressEvent方法,因为event方法是一个通用事件,如果要处理键盘事件需要增加单独的判断,并影响其他事件的响应处理速度。
语法:
keyPressEvent(self,event)
其中:
event类型为QKeyEvent,该类型是从QInputEvent继承,而QInputEvent是从QEvent继承。
该方法没有返回值。
获取按键值的方法:
通过QKeyEvent的方法text()可以获取可打印字符的按键,方法key()可以获取基本上所有按键对应的Qt键常量值,官网上介绍包括功能键、光标控制键、shift、Alt、Ctrl等都能捕获,但老猿测试光标控制键不能被捕获。
关于按键与按键值的对应关系,请参考Qt官方文档。
案例代码:
def keyPressEvent(self,keyevent):
print(f"键盘按键: {keyevent.text()},0X{keyevent.key():X} 被按下")
博客地址:https://blog.csdn.net/LaoYuanPython
老猿Python博客文章目录:https://blog.csdn.net/LaoYuanPython/article/details/98245036