Mouseup программно в Qt?

Задний план

Я создаю приложение, которое работает в фоновом режиме и где курсор мыши программно перемещается в диалоговое окно, когда диалоговое окно «всплывает». Я сделал это, используя QCursor.setPos

Проблема

Проблема, с которой я сталкиваюсь, заключается в том, что если кнопка мыши нажата, когда пользователь взаимодействует с чем-то вне приложения, это может привести к нежелательным вещам. Например, если пользователь изменяет громкость, а мышь перемещается, громкость может стать максимальной или минимальной.

Вопрос

Есть ли какой-либо способ (в Qt) программно выполнить наведение мыши?

Если я сделаю это перед изменением положения курсора, мне кажется, что риск проблем меньше (хотя могут быть и другие проблемы, возникающие из-за этого подхода)


person sunyata    schedule 03.12.2017    source источник
comment
Насколько я понимаю, вы хотите отключить щелчок мышью или изменить его статус. Я не ошибаюсь?   -  person eyllanesc    schedule 04.12.2017
comment
@eyllanesc Привет и спасибо за ваш вопрос, я хотел бы найти способ отправить указатель мыши, чтобы при перемещении мыши (программно) не возникало проблем, как в примере с регулятором громкости. Хотя могут быть и другие способы решения проблемы, и я открыт для идей!   -  person sunyata    schedule 04.12.2017
comment
Я мог бы дать вам варианты, если вы предоставите минимально воспроизводимый пример, поскольку до сих пор я не понимаю, чего вы хотите.   -  person eyllanesc    schedule 04.12.2017
comment
@eyllanesc У меня проблема не с кодом, но спасибо за желание помочь. Я обновил вопрос в нескольких местах, и я надеюсь, что это сделает его более понятным.   -  person sunyata    schedule 04.12.2017
comment
С Qt это можно было бы сделать внутри приложения, так как мы можем разместить фильтр событий, но снаружи это сделать сложно. Например, предположим, что мы изменили его за мгновение до этого, но когда кнопка мыши остается нажатой, аппаратное обеспечение попытается изменить свое состояние, и оно обязательно это сделает.   -  person eyllanesc    schedule 04.12.2017
comment
Обратите внимание, что это не тривиальная задача. QCursor::shape может рассказать вам больше о текущее состояние.   -  person m7913d    schedule 04.12.2017
comment
Или вы можете вернуться к конкретным материалам ОС, таким как stackoverflow.com/questions/10758202/.   -  person m7913d    schedule 04.12.2017