我正在使用Qt5.4.1,因为我需要使用WebKit。 我有一个QWebView来显示网页。我有这段代码来模拟鼠标点击:
QMouseEvent e(QEvent::MouseButtonPress, pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
QApplication::sendEvent(webViewWidget, &e);
在普通网页上运行正常。例如,它可以模拟谷歌搜索结果页面中链接的点击。
对于任何网页,它在Windows上也可以正常工作。
但是在Max OSX上,我发现它在具有Flash内容的区域内不起作用。我测试了很多随机的在线Flash游戏试图模拟游戏中的点击。但它不起作用。鼠标确实移动到目标位置,我可以观察到悬停动画(闪光游戏按钮)已打开。但它永远不会触发该按钮的点击。
完全相同的代码适用于同一游戏的Windows。
我还尝试在新闻发布会和发布会之间设置时间间隔,仍然没有希望。
我知道这是一个非常奇怪的问题,但我真的想让这个工作!