Имитация / подделка щелчка мыши и колеса мыши с помощью Qt

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

1 ответов


Если вы хотите имитировать клики по виджетам внутри ваше приложение, проверьте 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 Авто!, для Mac автоматизатор, и веб-основе при посещении. Вы даже можете вызвать такой инструмент из Qt как чтения qprocess.