如何在 PyQt5 中捕获悬停和鼠标离开信号

How to Catch Hover and Mouse Leave Signal In PyQt5

QPushButton有一个名为clicked()的信号,我们可以通过它来捕捉点击事件。是否有捕获悬停和离开事件的方法或信号?

如何捕捉鼠标悬停按钮和鼠标离开按钮,如下所示:

button = QPushButton(window)
button.clicked.connect(afunction)

注:我用的是python3.

您需要子class QPushButton class 并重新实现 enterEventleaveEvent:

class Button(QPushButton):

    def __init__(self, parent=None):
        super(Button, self).__init__(parent)
        # other initializations...

    def enterEvent(self, QEvent):
        # here the code for mouse hover
        pass

    def leaveEvent(self, QEvent):
        # here the code for mouse leave
        pass

然后您可以在本地处理事件,或发出信号(如果其他小部件需要对此事件做出反应,您可以使用信号将事件通知其他小部件)。