|
5Qter豆
本帖最后由 adaluobo 于 2017-4-28 10:22 编辑
我在qt中加载百度地图一直提示脚本错误,如图所示,点击是之后还能显示地图
我的主要代码如下:
void semmapwidget::mapaddress(const QString &url){
ui->webBrowser->dynamicCall("Navigate(const QString&)", url);
}
void semmapwidget::ini()
{
QString mapHtml=QDir::currentPath()+"/MapFile/map.html";
qDebug()<<QDir::currentPath();
mapaddress(mapHtml);
QAxObject *document = ui->webBrowser->querySubObject("Document");
IHTMLDocument2 *doc2;
document->queryInterface(QUuid(IID_IHTMLDocument2), (void**)&doc2);
if (doc2)
{
IHTMLWindow2 *win2 = nullptr;
if (doc2->get_parentWindow(&win2) == S_OK)
{
BSTR s1 = SysAllocString(L"Test('111')");
BSTR s2 = SysAllocString(L"JavaScript");
VARIANT ret;
win2->execScript(s1, s2, &ret);
SysFreeString(s2);
SysFreeString(s1);
}
}
|
最佳答案
查看完整内容
win2->execScript(s1, s2, &ret); 你这个是执行了 js 脚本吧, windows 下你直接双击 js 文件也是会报错了哦,
所以这个没有办法在 Windows 下直接执行,需要 JS 文件的执行环境,
楼主可以放到 nodejs 里面执行脚本程序,另外,在 QML 里面用 WebView 加载地图然后和地图交互比较简单,楼主也可以试试哦,给个链接:
http://www.cnblogs.com/hbrw/p/6698044.html
~~~
...
|