PyQt5 鼠标点击事件(点击响应事件可自定义):鼠标单击、双击、滚轮滚动、释放、移动等

自己写通了最常用的鼠标事件,具体响应事件,大家可以自定义,实现的效果如下:

                         

具体代码如下,有任何问题,欢迎小伙伴们交流讨论。

# -*- coding: utf-8 -*-
"""
Created on Fri Apr 26 20:49:32 2019

@author: Tiny
"""
# =============================================================================
''' 鼠标事件,各动作响应事件可以随意自定义'''

''' 参考: 1. https://blog.csdn.net/richenyunqi/article/details/80554257
             pyqt判断鼠标点击事件——左键按下、中键按下、右键按下、左右键同时按下等等;
          2. https://fennbk.com/8065
             Pyqt5 之 鼠标 (事件与方法介绍)
          3. https://blog.csdn.net/leemboy/article/details/80462632
             PyQt5编程-鼠标事件
          4. https://doc.qt.io/qtforpython/PySide2/QtGui/QWheelEvent.html#PySide2.QtGui.PySide2.QtGui.QWheelEvent.delta
             QWheelEvent'''
# ===============================================
PyQt5中,可以通过重写QWidget或其继承类的mousePressEvent方法来处理鼠标点击事件。该方法会在鼠标按下时被调用。\[1\]在该方法中,可以使用event.buttons()方法来获取哪个鼠标按键被按住了,使用event.globalPos()方法来获取鼠标相对于屏幕的位置,使用event.pos()方法来获取鼠标相对于处理事件的窗口的位置。\[1\] 另外,如果想要在重写的组件中获取鼠标坐标,并且该组件是一个弹窗式的对话框,可以在该组件中添加mouseMoveEvent方法。在该方法中,可以使用event.x()和event.y()方法来获取鼠标相对于该组件的位置,使用event.globalX()和event.globalY()方法来获取鼠标相对于屏幕的位置。\[2\] 除了mousePressEvent方法外,还有其他处理鼠标事件响应函数可以重写,如mouseReleaseEvent方法用于鼠标释放时调用,mouseDoubleClickEvent方法用于双击鼠标时调用。需要注意的是,在双击之前会触发其他事件双击时的事件顺序为:MouseButtonPress、MouseButtonRelease、MouseButtonDblClick、MouseButtonPress、MouseButtonRelease。\[3\] 总结起来,PyQt5中处理鼠标点击事件的方法有mousePressEvent、mouseReleaseEvent和mouseDoubleClickEvent,可以根据需要重写这些方法来实现相应的功能。 #### 引用[.reference_title] - *1* *3* [【无标题】pyqt5事件鼠标事件](https://blog.csdn.net/ayman_zawahiri/article/details/131180265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [PyQt5鼠标追踪事件](https://blog.csdn.net/weixin_43054437/article/details/123773050)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值