序
最近要开发的一款软件需要使用高德地图的软件,我打算记录相关开发要点,以抛砖引玉。
Qt模块说明
高德地图提供的接口为Js API。Qt要想与Js API交互,需要使用QWebEngine和QWebChannel。下面将简要介绍这两个模块。
QWebEngine基础
Qt WebEngine提供渲染动态网页内容的功能。主要可以分为三个模块:
- Qt WebEngine Core C++ Classes 提供了QtWebEngine 和QtWebEngineWidgets共有的公共API。
- Qt WebEngine QML Types 提供了QML应用需要的相关内容
- Qt WebEngine Widgets C++ Classes 提供了基于QWidget的应用的C++网页渲染接口
本次项目开发主要使用C++,因此将以Qt WebEngineWidgets模块的内容为主。
示例
官方示例说明:
- WebEngine Content Manipulation Example 加载和操作网页内容示例
- WebEngine Cookie Browser Example 基于Qt WebEngine Widgets 的Cookie 浏览器。
- WebEngine Markdown Editor Example 集成 web engine 到混合桌面应用示例。
- WebEngine Notifications Example 网页通知到用户操作示例
- WebEngine StyleSheet Browser Example 使用用户脚本添加 CSS到网页示例。
- WebEngine Widgets Html2Pdf Example 使用 Qt WebEngine将网页内容转换为html。
- WebEngine Widgets Maps Example 定位请求处理。
- WebEngine Widgets Minimal Example 使用 Qt WebEngine Widgets显示 网页内容
- WebEngine Widgets PrintMe Example 使用 Qt WebEngine Widgets打印网页内容
- WebEngine Widgets Simple Browser Example 基于 Qt WebEngine Widgets的简易浏览器。
- WebEngine Widgets Spellchecker Example 将拼写检查器集成到一个简单的HTML表单中。
- WebEngine Widgets Video Player Example 使用QWebEngineView显示全屏视频。
- WebEngine Widgets WebUI Example 显示自定义方案上的HTML。
QWebChannel基础
该模块提供了一个JavaScript库,用于将c++和QML应用程序与HTML/JavaScript和QML客户端无缝集成。客户端必须使用JavaScript库来访问由主机应用程序发布的序列化的QObjects。同时,该模块提供了JavaScript API、C++API和QMLAPI。
Qt地图应用软件开发(二)Qt与Js交互实现