Qt百度地图开发
显示地图需要使用WebEngine类控件加载本地的Html网页获取百度的JS脚本。
1.要使用WebEngine,必须安装MSVC编译器和WebEngine模块,Qt 安装的MSVC版本跟windows安装的MSVC++有关,Qt 6.3以下版本是支持MVC++ 14.26版本,如果Qt安装6.4版本会报错MSVC版本过低,根据自己的电脑配置,安装的Qt6.2版本。
2.使用WebEngine加载本地Html时有一个问题,直接加载网站随便一个网页(比如百度地图)是没问题的,但是加载自己的开发地图html时,打开是空白。HTML的框架能加载但是获取不到百度地图的JS主脚本。
这个问题主要是本地html访问不了https的js资源,qt中把控件 ui->widget->settings()->setAttribute(QWebEngineSettings::LocalContentCanAccessRemoteUrls, true);这个参数打开就可以了。官方文档说的是默认禁用不影响实际上又不能用,坑!
网上别人都是直接用也没问题,我想了想也可能是跟Win11有关,用了win11好多软件会有环境问题。