4.6 鼠标事件演示


一、鼠标事件演示

  • 鼠标相关事件函数:QMouseEvent

1.代码

from PyQt5.Qt import *
import sys


class MyWin(QWidget) :
    # QMouseEvent 鼠标跟踪事件
    def mouseMoveEvent(self, QMouseEvent) :
        print('WWWWW', QMouseEvent.globalPos())  # 参考QMouseEvent文档,重点是全局和局部位置
        return super().mouseMoveEvent(QMouseEvent)

    def mousePressEvent(self, QShowEvent) :
        print('鼠标按下')

    def mouseReleaseEvent(self, QShowEvent) :
        print('鼠标松开')

    def mouseDoubleClickEvent(self, QShowEvent) :
        print('鼠标双击')

    def enterEvent(self, QEvent) :
        print('鼠标进入事件')
        self.setStyleSheet("background-color:red;")

    def leaveEvent(self, QEvent) :
        print('鼠标离开事件')
        self.setStyleSheet("background-color:green;")

app = QApplication(sys.argv)

window = MyWin()
window.setWindowTitle('鼠标跟踪')
window.resize(600, 450)
window.move(300, 300)
#window.setMouseTracking(True) #鼠标不按住也能跟踪 与moveEvent连用

2.演示效果