Important: Please read the Qt Code of Conduct -

Just unminimized window not receiving mouseMoveEvent on OSX, unlike Linux?

  • My app calls self.setMouseTracking(True) on a QGraphicsView (which is in a QMainWindow, and which has a QGraphicsScene.) On OSX, after a user unminimizes the window, no mouseMoveEvents are received (in the QGraphicsScene) until the user clicks the mouse in the window. This is unlike the behavior on Linux.

    I have read about the 'focus follows mouse' issue on OSX, which says that on OSX a window does not receive keyboard focus or get raised to the top just because a mouse moves across a visible portion of the window. But shouldn't a window that has just been unminimized have keyboard focus and be on top (foreground?) and receive mouse move events (mouse focus?) on all platforms?

    (I am not using the hover capabilities of Qt, but implementing my own hover. I hope this is irrelevant.)

    I don't understand and don't know how to proceed, except to start hacking, such as calling setActiveWindow or call setMouseTracking on an exposeEvent or on the focusChanged signal, even though I don't think it should be necessary?

  • A relevant post? But that bug doesn't mention unminimizing, and in my case, mouse tracking works when the app starts in OSX, but doesn't work after unminimizing until a mouse click.

    That is, might be a bug that has been fixed starting with Qt 5.1?

Log in to reply