1

上下文:我正在创建一个网络浏览器。我需要将鼠标事件发送到网页。

它可以与 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?

4

0 回答 0