在Qt中的QWebView内模拟鼠标点击?

时间:2014-05-30 08:23:15

标签: c++ qt mouseevent qwebview mouseclick-event

我正在尝试模拟QWebView

内的鼠标点击

我的代码:

QMouseEvent eve( (QEvent::MouseMove), QPoint(10,10),
     Qt::NoButton,
     Qt::NoButton,
     Qt::NoModifier);

ui->webView->setMouseTracking(true);

qApp->sendEvent(ui->webView, &eve);

但它似乎不起作用。

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:2)

您可以在点击之前设置鼠标位置:

QCursor::setPos(mapToGlobal(ui->webView->pos()+=QPoint(10,10)));

鼠标点击模拟也可以通过以下方式完成:

QMouseEvent * event1 = new QMouseEvent ((QEvent::MouseButtonPress), QPoint(10,10),
    Qt::LeftButton,
    Qt::LeftButton,
    Qt::NoModifier   );

qApp->postEvent((QObject*)ui->webView,(QEvent *)event1);

QMouseEvent * event2 = new QMouseEvent ((QEvent::MouseButtonRelease), QPoint(10,10),
    Qt::LeftButton,
    Qt::LeftButton,
    Qt::NoModifier   );

qApp->postEvent((QObject*)ui->webView,(QEvent *)event2);