c++ - 在Qt中的QWebView中模拟鼠标点击?

标签 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);

但是好像不行。

知道我做错了什么吗?

最佳答案

您可以通过以下方式在单击之前设置鼠标位置:

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);

关于c++ - 在Qt中的QWebView中模拟鼠标点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23950109/

相关文章:

c++ - 为什么 C++ 不会打印 char 的内存地址,但会打印 int 或 bool?

pyqt - QWidget 可以代表 QLineEdit 检测鼠标事件吗?

c++ - 使用CGAL存储多边形的顶点、半边、邻接表

python - QGraphicsView 未在 QMainWindow 中显示

c++ - 使用 QAudioProbe 从原始数据中绘制波形

c++ - SendInput 始终将鼠标指针移动到左上角

c - 指针运动。为什么数字这么高?为什么它以 block 而不是恒定流的形式打印信息?

c++ - 如何转换 CString LPStr

c++ - 打印 C++ 结构中所有字段的值

c++ - 如何在 C++ 中计算 UCS-2 字符串的长度及其大小?