Qt 中调用 runJavaScript() 传递值给 JavaScript
在 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'模块。
这只是一个基本的示例,你可以根据需要进行修改和扩展来满足你的具体要求。
原文地址: http://www.cveoy.top/t/topic/kVF 著作权归作者所有。请勿转载和采集!