在PyQt图形界面中,我们经常要捕获特定事件如鼠标按键按下、鼠标按下等事件以执行特定操作,可以通过重写组件对象的相关事件处理函数来实现相关处理,具体特定事件常用的包括如下:
keyPressEvent(): 键盘按下事件
keyReleaseEvent(): 键盘释放事件
mouseDoubleClickEvent(): 鼠标双击事件
mouseMoveEvent(): 鼠标移动事件
mousePressEvent(): 鼠标按下事件
mouseReleaseEvent(): 鼠标释放事件
timerEvent(): 定时器事件
dragEnterEvent(): 拖拽进入当前窗口事件
dragLeaveEvent(): 拖拽离开当前窗口事件
dragMoveEvent(): 拖拽移动事件
enterEvent(): 进入窗口区域事件
leaveEvent(): 离开窗口区域事件
closeEvent(): 关闭窗口事件
注意,这些函数都是有对应参数的,参数一般可以用:self和event两个,self’表示这是个类的实例方法,event表示收到的事件保存对象,不同事件的event子类不一样,但都是QEvent的派生类,由于Python对类型没有强制要求,因此都用event表示,但具体代码处理时根据不同事件需要进行特殊处理时,需要使用对应event的成员和方法,例如键盘事件可以通过该参数获取按键值和按键的代码。
![](https://i-blog.csdnimg.cn/blog_migrate/d7c2003123ac5a70a05e7e0a0122c6f3.png)
博客地址:https://blog.csdn.net/LaoYuanPython
老猿Python博客文章目录:https://blog.csdn.net/LaoYuanPython/article/details/98245036