在 Qt 中,可以使用'QWebEngineView'类来加载网页并执行 JavaScript 代码,并且可以通过'QWebEngineView'的'page()'方法获取'QWebEnginePage'对象,从而调用'runJavaScript()'方法来传递值给 JavaScript。

下面是一个简单的示例代码,演示了如何在 Qt 中调用'runJavaScript()'方法传递值给 JavaScript:

#include <QApplication>
#include <QWebEngineView>
#include <QWebEnginePage>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QWebEngineView view;
    view.setHtml("<html><body><script>"
                 "function displayValue(value) {"
                 "    console.log('Received value:', value);"
                 "}"
                 "</script></body></html>");

    QObject::connect(view.page(), &QWebEnginePage::loadFinished, [&view]() {
        QVariant valueToPass = 42; // 希望传递给 JavaScript 的值
        view.page()->runJavaScript("displayValue(" + QVariant(valueToPass).toString() + ");");
    });

    view.show();

    return a.exec();
}

在这个示例中,'QWebEngineView'加载了一个简单的包含 JavaScript 函数'displayValue()'的 HTML 页面。在'loadFinished'信号触发后,通过'runJavaScript()'方法将值传递给 JavaScript 函数。在 JavaScript 函数中,我们将接收到的值打印到控制台。

请注意,上述示例中的'QWebEngineView'需要'QtWebEngine'模块的支持。确保在 Qt 项目中的 .pro 文件中添加'QT += webenginewidgets' 以引入'QtWebEngine'模块。

这只是一个基本的示例,你可以根据需要进行修改和扩展来满足你的具体要求。

Qt 中调用 runJavaScript() 传递值给 JavaScript

原文地址: http://www.cveoy.top/t/topic/kVF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录