判断鼠标不在控件上_实战PyQt5: 098-鼠标事件

本文详细介绍了PyQt5中的鼠标事件处理,包括鼠标点击释放、鼠标移动、鼠标移入移出控件、滚轮操作以及如何改变鼠标指针形状。通过示例代码解析了QMouseEvent对象的关键信息,帮助读者理解如何在GUI程序中实现与鼠标的交互。
摘要由CSDN通过智能技术生成
51a327943a4a85b036f1450a74d5d27c.png

鼠标GUI程序中另外一种重要的交互方式,Qt中的鼠标事件包括鼠标点击、松开鼠标按键,移动鼠标到指定区域或者离开特定区域,更改鼠标指针的形状等等。

鼠标点击释放

对鼠标最常见的操作就是点击和释放,进行点击释放操作,将调用以下方法:

  • mousePressEvent (self, event) : 鼠标键按下时调用;
  • mouseReleaseEvent (self, event) : 鼠标键松开时调用;
  • mouseDoubieCiickEvent (self, event) - 双击鼠标时调用。

必须注意在双击之前的其他事件。双击时的事件顺序为:mouseButtonPress --> mouseButtonRelease --> mouseButtonDblClick --> mouseButtonPress --> mouseButtonRelease。

QApplicaption类的setDoubleClickInterval()方法可设置双击的时间间隔;doubleClickInterval( )方法返回双击的时间间隔。

event参数是QMouseEvent对象,存储事件的其他信息。常用方法有:

  • x() 和 y():返回相对于控件空间的鼠标坐标值;
  • pos(): 返回相对于控件空间的QPoint对象;
  • localPos():返回相对于控件空间的QPointF对象;
  • globalX() 和 globalY(): 返回相对于屏幕的x,y 坐标值;
  • globalPos(): 返回相对于屏幕的QPoint对象;
  • windowPos(): 返回相对于窗口的QPointF对象;
  • screenPos() : 返回相对于屏幕的QPointF对象;
  • button(): 返回以下枚举值(只列举了部分),用以判断是哪个鼠标键触发了事件;
    • Qt.NoButton (0): 没有按下鼠标键。例如移动鼠标时的button()返回值;
    • Qt.LeftButton (1): 按下鼠标左键;
    • Qt.Rig
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值