当前位置: 首页 PyQt5控件基类QWidget 鼠标事件演示
add-vip

鼠标事件演示

一、学习指导

在上一章节中我们说过事件的机制,也说过事件和信号相比较而言更加偏向于底层,也就是更加接近硬件,这节课就来说说鼠标常见的事件操作。通过学习鼠标事件帮助我们能使用PyQt5从根本上实现对鼠标的控制。

二、代码演示

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)

btn = QPushButton(window)
btn.move(60, 60)
btn.resize(50, 35)
btn.setText('按钮控件')
btn.setStyleSheet('background-color:green')

window.show()

sys.exit(app.exec_())


相关文章