PyQt学习随笔:PyQt中捕获键盘事件后获取具体按键值的方法

时间:2021-11-11 15:36:03

在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} 被按下")

PyQt学习随笔:PyQt中捕获键盘事件后获取具体按键值的方法

博客地址:https://blog.csdn.net/LaoYuanPython

老猿Python博客文章目录:https://blog.csdn.net/LaoYuanPython/article/details/98245036