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

Vie*_*iet 6 mouse qt mouseevent

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

Hos*_*ork 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上"完全控制鼠标",这是一个相关的问题:

在Windows中模拟鼠标按钮单击

......而可能会考虑使用专门为此任务设计的自动化工具.一些选项是Windows Auto It!,Mac的Automator,以及基于Web的iMacros.你甚至可以从Qt调用这样一个工具作为QProcess.

  • 如果您想在X11环境中激发应用程序外部,可以使用Xnee:http://www.gnu.org/software/xnee/. (2认同)