上下文:我正在创建一个网络浏览器。我需要将鼠标事件发送到网页。
它可以与 Qt WebKit 一起使用,但现在有些网站无法与 QT WebKit 一起使用。所以,我需要将我的网络浏览器移动到 Qt WebEngine。但是我对 QMouseEvent 的旧解决方案不起作用。
QWebView 的解决方案:
void MainWindow::simClick(int x, int y) {
QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(x, y), Qt::LeftButton,
Qt::LeftButton, Qt::NoModifier);
QCoreApplication::sendEvent(ui->webView, &pressEvent);
QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(x, y), Qt::LeftButton,
Qt::LeftButton, Qt::NoModifier);
QCoreApplication::sendEvent(ui->webView, &releaseEvent);
}
这个问题可以通过使用 JavaScript 来解决,但我需要 QMouseEvent。
如何将鼠标事件发送到 QWenEnginePage?