2016-07-02 2 views
1

У меня есть QtGuiApplication с одним QQuickItem. и я хочу, чтобы quickitem получил события мыши, когда указатель мыши находится за пределами главного окна. указатель мыши может быть в любом месте экрана. Итак, в конце QQuickItem должен получать события мыши (например, перемещение мыши), когда указатель мыши находится вне окна приложения.QQuickItem не принимает события мыши после использования grabMouse(), когда мышь находится вне окна приложения

Я использовал grabMouse [void QQuickItem :: grabMouse()] для этого. но я не вижу никакого эффекта. QuickItem принимает событие только тогда, когда указатель мыши находится внутри окна приложения. Он прекратил получение какого-либо события мыши, как только указатель мыши покинет границу QGuiApplication.

Как я читал grabMouse должен решить мою проблему, но как-то это не так. Может кто-нибудь указать мне, что есть какие-либо дополнительные функции, которые нужно сделать или что-то не так.

Примечание: после использования GrabMouse Quickitem начинает получать MouseMove события, когда мыши проходит над приложением

ответ

0

Я считаю, что вы не можете получить события мыши при наведении его вне окна приложения. Так работает ОС.

+0

Возможно, я могу, например, нажать левую кнопку мыши на окне и перетащить его за границу окна, а затем нажать правую кнопку, приложение получит события, просто убедитесь, что при перетаскивании левой кнопки мыши все еще нажата. – SanTosh

+0

@SanTosh, это какая-то причуда вашей ОС. Это не обычное поведение. – Velkan