<div dir="ltr">For now I'm doing this:<br><div><br></div><div><div><font face="monospace">class MouseTrackableWindow : public QQuickWindow</font></div><div><font face="monospace">{</font></div><div><font face="monospace">  Q_OBJECT</font></div><div><font face="monospace">public:</font></div><div><font face="monospace">  void mouseMoveEvent(QMouseEvent *event) override {</font></div><div><font face="monospace">    QQuickWindow::mouseMoveEvent(event);</font></div><div><font face="monospace">    emit mouseMove(event->windowPos());</font></div><div><font face="monospace">  }</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">signals:</font></div><div><font face="monospace">  void mouseMove(QPointF mouse);</font></div><div><font face="monospace">};</font></div></div><div><font face="monospace"><br></font></div><div><font face="monospace">...</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">qmlRegisterType<MouseTrackableWindow>("foo.components", 1, 0, "MouseTrackableWindow");<br><br>...<br><br></font><div><font face="monospace">import QtQuick 2.12</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">import foo.components 1.0</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">MouseTrackableWindow {</font></div><div><font face="monospace">  title: qsTr("Hello World")</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">  onMouseMove: {<br>    console.log(mouse.x, mouse.y);<br>  }<br>}</font></div></div><div><br></div><div>And it's not all too bad, but if anyone can tell me of a more dogmatic QtQuick based approach, please let me know.<br><br>I'm not sure missing whatever is left in <a href="https://github.com/qt/qtdeclarative/blob/5.12/src/quick/items/qquickwindowmodule_p.h">QQuickWindowQmlImpl</a> is going to wind up giving me problems later. Subclassing that means including private headers etc. so I'm not to keen on going that route.<br><br><br>/René</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 21 Mar 2019 at 12:50 René Hansen <<a href="mailto:renehh@gmail.com">renehh@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div><br></div><div>I want to track mouse movement within my entire application window, because I need to show/hide/move items around where my cursor is at certain times. (Think e.g. custom cursor)<br><br>I can do it easily by filling the entire window with a <b>MouseArea</b> and handle <b>onPositionChanged</b>. The problem is that any mouse sensitive inputs underneath, then get's blocked by the overlaying <b>MouseArea</b>. E.g. a <b>TextField</b> that is usually highlighted on hover and clickable, no longer receives any mouse events.<br><br>Is there any straightforward solution to this?<br><br>I know <b>QQuickWindow</b> has a <b>mouseMoveEvent</b>, but that doesn't seem to be exposed in QML and if I can avoid subclassing and exposing a custom class, I'd rather do that.<br><br><br>Cheers,</div><div><br></div><div>René Hansen</div></div>
</blockquote></div>