如何使用Qt模仿/伪造鼠标点击和鼠标滚轮?更具体地说,我想点击Qt应用程序的内部和外部。提前谢谢!
答案 0 :(得分:8)
如果您想模拟应用中小部件的点击次数,请查看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上“完全控制鼠标”,就会出现以下相关问题:
Simulating a mouse button click in Windows
...而是可以考虑使用专门为此任务设计的自动化工具。一些选项包括Windows Auto It!,Mac Automator和基于网络的iMacros。您甚至可以从Qt调用此类工具作为QProcess。