使用Qt模仿/伪造鼠标单击和鼠标滚轮

时间:2010-01-05 04:59:01

标签: qt mouseevent mouse

如何使用Qt模仿/伪造鼠标点击和鼠标滚轮?更具体地说,我想点击Qt应用程序的内部和外部。提前谢谢!

1 个答案:

答案 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