首页| 论坛| 消息

标题:Qt编写地图综合应用24-miniblink内核
作者:liudianwu
日期:2021-01-21 09:29
内容:

## 一、前言
用Qt做项目过程中,遇到需要用到浏览器控件的项目,可能都会绕不开一个问题,那就是从Qt5.6版本开始mingw编译器的Qt构建套件,不再提供浏览器控件了,之前还可以用webkit控件,这下很多项目要么选择5.6以下版本,要么选择msvc的构建套件,而且大部分的msvc构建套件还不自带浏览器控件,也需要自己编译,只有原配的构建套件比如Qt5.9+VS2015、Qt5.12+VS2017这种搭配才可能有浏览器控件,不然就算你勾选了浏览器控件也不会安装,这样就使得很多依赖浏览器控件的项目比较被动,于是必须寻找一个轻量级的浏览器控件来替代,比如cef、miniblink,个人更倾向于miniblink,用法极其简单,依赖极其精简就一个dll,在linux和mac系统上本来qt就一直会有浏览器控件,所以也就不涉及到跨平台的问题,所以miniblink暂支持windows的缺点也就不算缺点了。
miniblink是一个追求极致小巧的浏览器内核项目,全世界第三大流行的浏览器内核控件。其基于chromium最新版内核,去除了chromium所有多余的部件,只保留最基本的排版引擎blink。miniblink保持了10M左右的极简大小,是所有同类产品最小的体积,同时支持windows xp、npapi。miniblink的作者非常牛逼,QQ昵称叫扫地僧,犹如天龙八部中的扫地僧一般,极其隐秘又武功极高,精通各种绝技,确实相当的屌。
qt+miniblink用法步骤:
- 第一步:调用wkeSetWkeDllPath函数加载dll文件路径,一个项目只需要执行一次。
- 第二步:调用wkeInitialize初始化动态库,一个项目只需要执行一次。
- 第三步:调用wkeCreateWebWindow创建一个浏览器控件,传入句柄。
- 第四步:调用wkeOnLoadingFinish注册回调加载完成信号,有需要才注册。
- 第五步:调用wkeJsBindFunction注册回调接收数据的方法,一定要放在这里在网页加载前执行。
- 第六步:调用wkeLoadURL加载网址、wkeLoadFile加载网页文件、wkeLoadHtmlWithBaseUrl加载网页内容。
- 第七步:调用wkeRunJS执行js函数,超级简单。
- 第八步:调用wkeFinalize释放资源,只要执行一次,在整个项目结束的时候。
qt+miniblink完整demo开源地址:
[https://gitee.com/feiyangqingyun/QWidgetDemo/tree/master/miniblink](https://gitee.com/feiyangqingyun/QWidgetDemo/tree/master/miniblink)
[https://github.com/feiyangqingyun/QWidgetDemo/tree/master/miniblink](https://github.com/feiyangqingyun/QWidgetDemo/tree/master/miniblink)
# ..

回复 发表
主题 版块