直接加载放在exe同级目录下的资源是不行的,需要把资源通过qrc放到exe里面,然后通过类似qrc:/robotHtml/index.html
这样的路径加载才行。
mWebView = new QWebEngineView(parent);// mWebView->load(QUrl::fromLocalFile("./robotHtml/index.html"));// mWebView->load(QUrl("http://www.baidu.com"));mWebView->load(QUrl("qrc:/robotHtml/index.html"));// mWebView->show();
运行网页中包含的脚本,还可以取得返回值。
QString cmd = QString("ctrlFuns[0](%1, %2)").arg(0).arg(val);mWebView->page()->runJavaScript(cmd);
可能遇到的问题
可能对于包含进来的第三方js脚本,Qt可能会将其语法识别错误,从而无法顺利将本体exe编译。这时可以修改一下.js的后缀,绕过Qt的检查就行。
对应的html文件中也要做相应的修改。