Python Forum
[PyQt] PyQt trigger leaveEvent in parent
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PyQt] PyQt trigger leaveEvent in parent
#1
Hi,

I'm working on a project where I need to change the painting of a widget when the mouse is hovering over it. The issue I'm having is I can't get the leave event to trigger for a widget when the mouse hovers over one of its children.

[Image: 4wM4P1T.png]

So here, when the mouse enters One, I want it's enterEvent to be triggered, however when the mouse enters Two I want One to have its leaveEvent triggered. Keep in mind this could be a complicated nest of layouts and widgets that can be dragged and dropped.

I've also tried installing an eventFilter and using HoverLeave and HoverEnter, with the WA_Hover attribute set, however this gives me the same behavior.

Minimal Example:
import sys
from PyQt5 import QtWidgets


class TestWindow(QtWidgets.QDialog):
    def __init__(self, parent=None):
        super(TestWindow, self).__init__(parent=parent)
        self.resize(640, 480)

        layout = QtWidgets.QVBoxLayout()
        self.setLayout(layout)

        widget1 = CustomWidget("One")
        widget2 = CustomWidget("Two")

        widget1.layout().addWidget(widget2)
        layout.addWidget(widget1)


class CustomWidget(QtWidgets.QFrame):
    def __init__(self, name, parent=None):
        super(CustomWidget, self).__init__(parent=parent)
        self.setObjectName(name)
        self.setFrameStyle(QtWidgets.QFrame.StyledPanel)
        self.setLayout(QtWidgets.QVBoxLayout())
        self.layout().addWidget(QtWidgets.QLabel(name, parent=self))

    def enterEvent(self, event):
        print("Enter:", self.objectName())

    def leaveEvent(self, event):
        print("Leave:", self.objectName())

if __name__ == "__main__":
    qApp = QtWidgets.QApplication(sys.argv)
    tw = TestWindow()
    tw.show()
    sys.exit(qApp.exec_())
Thanks for the help!
Reply


Messages In This Thread
PyQt trigger leaveEvent in parent - by kainev - Dec-01-2019, 08:15 AM
RE: PyQt trigger leaveEvent in parent - by Denni - Dec-02-2019, 07:18 PM
RE: PyQt trigger leaveEvent in parent - by kainev - Dec-03-2019, 01:27 AM
RE: PyQt trigger leaveEvent in parent - by Denni - Dec-03-2019, 03:53 PM
RE: PyQt trigger leaveEvent in parent - by Denni - Dec-03-2019, 04:22 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] What causes this pop-up to trigger? Oshadha 2 1,790 Dec-17-2020, 08:37 AM
Last Post: Oshadha
  Ho can I get the first parent of a class? panoss 2 3,615 Jan-10-2017, 08:10 AM
Last Post: panoss

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020