Подражание / фальсификация щелчка мыши и колеса мыши с использованием Qt - PullRequest
6 голосов
/ 05 января 2010

Как имитировать / имитировать щелчок мыши и колесо мыши с помощью Qt? Чтобы быть более конкретным, я хочу щелкнуть внутри и снаружи приложения Qt. Заранее спасибо!

1 Ответ

8 голосов
/ 05 января 2010

Если вы хотите смоделировать клики на виджетах внутри вашего приложения, проверьте QTestEventList :

QTestEventList может быть заполнен событиями GUI, которые могут быть сохранены в качестве тестовых данных для последующего использования или воспроизведены на любом QWidget.

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

http://qt.gitorious.org/qt/qt/blobs/master/src/testlib/qtestmouse.h

http://qt.gitorious.org/qt/qt/blobs/master/src/testlib/qtestevent.h

OTOH, если вы хотите имитировать щелчки за пределами вашего приложения (например, значки на рабочем столе и т. Д.), Это, вероятно, выходит за рамки Qt API. Чтобы «получить полный контроль над мышью» в Windows, есть следующий вопрос:

Имитация нажатия кнопки мыши в Windows

... и может вместо этого рассмотреть возможность использования средства автоматизации, специально разработанного для этой задачи. Некоторые варианты: Windows Auto It! , Mac Automator и веб-интерфейс iMacros . Вы даже можете вызвать такой инструмент из Qt как QProcess .

...