Qt 集成miniblink浏览器库之1编译使用
1.miniblink简介
miniblink是一款精简小巧的浏览器控件,由龙泉寺扫地僧基于chromium精简而成,是市面上最小巧的chromium内核控件没有之一。
它仅10余M大小,只需一个dll,几个纯C接口即可轻松调起,并嵌入到任何软件内使用。
你可以用来显示网页、做软件的界面框架、做爬虫等功能。
它内置了各种网络拦截接口,可以方便的替换网络资源;解除了跨域访问限制,方便本地开发测试等。
如果你使用过cef、wke的话,相信很容易理解。
miniblink采用的接口和wke几乎一模一样,可以算做wke的升级版。
目前只支持windows系统,包括xp。
2.下载
从网址https://miniblink.net/下载,写此博客时的最新版本为2020.8.24版
可以直接下载编译好的,也可以下载源码编译
3.编译
源码中有vs工程,直接打开即可
4.使用步骤
将头文件wke.h拷贝到自己的工程并引入该头文件。将库文件node.dll和plugins目录拷贝到自己应用程序目录。
a.设置node.dll的路径
QString nodePath = QApplication::applicationDirPath() + "/node.dll";
if(!QFile::exists(nodePath))
{
qDebug()<<QStringLiteral("请将node.dll拷贝到运行目录");
return 0;
}
qDebug()<<nodePath;
std::vector<wchar_t> tempPath;
tempPath.resize(MAX_PATH);
nodePath.toWCharArray(&tempPath[0]);
wkeSetWkeDllPath(&tempPath[0]);
b.初始化
wkeInitialize();
c.创建浏览器窗体
wkeWebView view = wkeCreateWebWindow(WKE_WINDOW_TYPE_TRANSPARENT, NULL, 0, 0, 640, 480);
if (!view)
return 0;
wkeResizeWindow(view, 800, 600);
wkeLoadURLW(view, L"http://baidu.com");
wkeShowWindow(view, true);
wkeMoveToCenter(view);
d.卸载
wkeFinalize();
完整代码:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QString nodePath = QApplication::applicationDirPath() + "/node.dll";
if(!QFile::exists(nodePath))
{
qDebug()<<QStringLiteral("请将node.dll拷贝到运行目录");
return 0;
}
qDebug()<<nodePath;
std::vector<wchar_t> tempPath;
tempPath.resize(MAX_PATH);
nodePath.toWCharArray(&tempPath[0]);
wkeSetWkeDllPath(&tempPath[0]);
wkeInitialize();
wkeWebView view = wkeCreateWebWindow(WKE_WINDOW_TYPE_TRANSPARENT, NULL, 0, 0, 640, 480);
if (!view)
return 0;
wkeResizeWindow(view, 800, 600);
wkeLoadURLW(view, L"http://baidu.com");
wkeShowWindow(view, true);
wkeMoveToCenter(view);
int result = a.exec();
wkeFinalize();
return result;
}
创建得是个独立窗体,下一节我将把这个窗体改为QWidget,这样可以跟qt紧密结合
Qt 集成miniblink浏览器库之1编译使用相关推荐
- Qt 集成miniblink浏览器库之2封装
前面一节已经介绍了如何编译miniblink库以及如何在qt下使用,但是创立的是个独立窗体,应用中我们经常用到的是作为一个子窗体嵌入到其他窗体之中,类似QWebengnieView,本节将实现这个功能 ...
- Qt 集成miniblink浏览器库之4 解决兼容性问题
之前介绍了如何miniblink集成到qt,采用wkeCreateWebWindow来创建一个浏览器窗口,wkeCreateWebWindow有三种方式 typedef enum _wkeWindow ...
- Qt 集成miniblink浏览器库之5 支持独立窗口和子窗口
前面使用GDI绘制解决了集成到Qt的系统冲突和QWebEngineView的冲突,但仅支持作为qt的子窗体,现在将其修改为支持独立窗口的创建. 首先判断create接口传入的父窗口句柄是否是空,为空表 ...
- 属性浏览器控件QtTreePropertyBrowser编译成动态库(设计师插件)
文章目录 一.回顾 二.动态库编译 1.命令行编译动态库和测试程序 2.vs工具编译动态库和测试程序 3.安装文档 4.测试文档 三.设计师插件编译 1.重写QDesignerCustomWidget ...
- 【Android RTMP】Android Studio 集成 x264 开源库 ( Ubuntu 交叉编译 | Android Studio 导入函数库 )
文章目录 安卓直播推流专栏博客总结 一. x264 简介 二. x264 交叉编译 三. Android Studio 导入函数库 四. 交叉编译版本 五. GitHub 项目地址 安卓直播推流专栏博 ...
- Qt框架与STL库之间的巅峰对决:差异、优缺点及适用场景
Qt框架与STL库之间的巅峰对决:差异.优缺点及适用场景 引言 对比的重要性 Qt框架与STL库简介 博客内容概览 Qt框架基础 Qt框架的特点与组成 Qt的信号槽机制 Qt容器类简介 数据结构的对比 ...
- Qt+腾讯IM开发笔记(一):腾讯IM介绍、使用和Qt集成腾讯IM-SDK的工程模板Demo
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/119305601 长期持续带来更多项目与技术分享,咨询请 ...
- Qt 集成 FFmpeg 实现颜色格式转换
目录 1. Qt 集成 FFmpeg 1.1 下载 FFmpeg 1.2 Qt 集成 FFmpeg 1.2.1 修改 .pro 文件 1.2.2 放入 dll 文件 1.2.3 代码中使用 FFmpe ...
- Qt Creator在浏览器中预览
Qt Creator在浏览器中预览 在浏览器中预览 在浏览器中预览 Qt Design Viewer是在您的Web浏览器中运行的QML查看器.这意味着您可以在台式机和移动设备上的最广泛使用的Web浏览 ...
最新文章
- 加固前奏2-替换application
- web百度地图 地址解析获取百度地理坐标
- 【2018icpc宁夏邀请赛现场赛】【Gym - 102222F】Moving On(Floyd变形,思维,离线处理)
- mysql如何创建日志_mysql中的日志
- 一次openresty http.lua 性能调优之旅
- 《“灯谜”系统--“定单”辅助产生系统》
- 【vue】vue中element表格导出为excel表格
- 传感器实验——SHT20温湿度传感器
- ps-抠头发-选择并遮住工具
- opcode加密php代码,总结Opcode缓存和PHP代码的加密
- 白炽灯的用途和工作原理
- 学tlc和JAVA,#Java学习之路——第一部分总结
- B/S模式下的MVC架构迭代(2)
- csr867x入门之iis使用(八)
- Easyexcel·读取excel
- 超级玛丽2号max即将停售定期?是谣言还是确有其事,有啥影响
- 工程流体力学笔记暂记8(伯努利方程的推导)
- 利用Vue的计算属性计算平均值总成绩
- 在oracle你如何加供应商,cognos特定于供应商的函数如何添加oracle函数
- 资源管理系统-VUE使用ckplayer实现视频列表播放
热门文章
- 介绍几个编程学习网站
- Makefile的ifdef和ifeq,以及debug和release
- mysql affected rows_mysql UPDATE后通过mysql_affected_rows判断是否成功,没有则INSERT ,结果出问题了...
- 已进入测试阶段,8月9日华为开发者大会“鸿蒙”系统或首次亮相
- 中国最大统计学与大数据盛会召开在即
- 少吃游离糖,降低心血管疾病风险
- 【学习笔记】| Java多线程基础
- GDAL读写Tiff、DEM文件
- 【chromium】常用设计模式:委托模式(Delegate Pattern)、观察者模式、 工厂模式。
- 分享这些实用但冷门的软件