PyQt5学习之鼠标事件

from PyQt5.Qt import *
import sys


class App(QApplication):
    def notify(self, recevier, evt):
        if recevier.inherits("QPushButton") and evt.type() == QEvent.MouseButtonPress:
            # print(recevier, evt)
            pass
        return super().notify(recevier, evt)


class Btn(QPushButton):
    def event(self, e):
        if e.type() == QEvent.MouseButtonPress:
            # print(e)
            pass
        return super().event(e)

    def mousePressEvent(self, e):
        print("鼠标被点击了!")
        return super().mousePressEvent(e)
        
    def mouseReleaseEvent(self, e):
        print("鼠标被释放了!")
        return super().mouseReleaseEvent(e)

    def mouseMoveEvent(self, e):
        print("鼠标移动了!")
        return super().mouseMoveEvent(e)

    def mouseDoubleClickEvent(self, e):
        print("鼠标双击了!")
        return super().mouseDoubleClickEvent(e)


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("new")
        self.resize(500, 400)
        self.ui()

    def ui(self):
        btn = Btn(self)
        btn.setText("Button")
        btn.move(100, 100)
        btn.resize(100, 40)


if __name__ == '__main__':
    app = App(sys.argv)

    window = Window()
    window.show()

    sys.exit(app.exec_())

标签: PyQt5

文档最后编辑于4年前

评论

评论已关闭

小小英雄杜恩

子曰:“弟子入则孝,出则弟,谨而信,泛爱众,而亲仁。行有余力,则以学文。”


:D 获取中...