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编译使用相关推荐

  1. Qt 集成miniblink浏览器库之2封装

    前面一节已经介绍了如何编译miniblink库以及如何在qt下使用,但是创立的是个独立窗体,应用中我们经常用到的是作为一个子窗体嵌入到其他窗体之中,类似QWebengnieView,本节将实现这个功能 ...

  2. Qt 集成miniblink浏览器库之4 解决兼容性问题

    之前介绍了如何miniblink集成到qt,采用wkeCreateWebWindow来创建一个浏览器窗口,wkeCreateWebWindow有三种方式 typedef enum _wkeWindow ...

  3. Qt 集成miniblink浏览器库之5 支持独立窗口和子窗口

    前面使用GDI绘制解决了集成到Qt的系统冲突和QWebEngineView的冲突,但仅支持作为qt的子窗体,现在将其修改为支持独立窗口的创建. 首先判断create接口传入的父窗口句柄是否是空,为空表 ...

  4. 属性浏览器控件QtTreePropertyBrowser编译成动态库(设计师插件)

    文章目录 一.回顾 二.动态库编译 1.命令行编译动态库和测试程序 2.vs工具编译动态库和测试程序 3.安装文档 4.测试文档 三.设计师插件编译 1.重写QDesignerCustomWidget ...

  5. 【Android RTMP】Android Studio 集成 x264 开源库 ( Ubuntu 交叉编译 | Android Studio 导入函数库 )

    文章目录 安卓直播推流专栏博客总结 一. x264 简介 二. x264 交叉编译 三. Android Studio 导入函数库 四. 交叉编译版本 五. GitHub 项目地址 安卓直播推流专栏博 ...

  6. Qt框架与STL库之间的巅峰对决:差异、优缺点及适用场景

    Qt框架与STL库之间的巅峰对决:差异.优缺点及适用场景 引言 对比的重要性 Qt框架与STL库简介 博客内容概览 Qt框架基础 Qt框架的特点与组成 Qt的信号槽机制 Qt容器类简介 数据结构的对比 ...

  7. Qt+腾讯IM开发笔记(一):腾讯IM介绍、使用和Qt集成腾讯IM-SDK的工程模板Demo

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/119305601 长期持续带来更多项目与技术分享,咨询请 ...

  8. Qt 集成 FFmpeg 实现颜色格式转换

    目录 1. Qt 集成 FFmpeg 1.1 下载 FFmpeg 1.2 Qt 集成 FFmpeg 1.2.1 修改 .pro 文件 1.2.2 放入 dll 文件 1.2.3 代码中使用 FFmpe ...

  9. Qt Creator在浏览器中预览

    Qt Creator在浏览器中预览 在浏览器中预览 在浏览器中预览 Qt Design Viewer是在您的Web浏览器中运行的QML查看器.这意味着您可以在台式机和移动设备上的最广泛使用的Web浏览 ...

最新文章

  1. 加固前奏2-替换application
  2. web百度地图 地址解析获取百度地理坐标
  3. 【2018icpc宁夏邀请赛现场赛】【Gym - 102222F】Moving On(Floyd变形,思维,离线处理)
  4. mysql如何创建日志_mysql中的日志
  5. 一次openresty http.lua 性能调优之旅
  6. 《“灯谜”系统--“定单”辅助产生系统》
  7. 【vue】vue中element表格导出为excel表格
  8. 传感器实验——SHT20温湿度传感器
  9. ps-抠头发-选择并遮住工具
  10. opcode加密php代码,总结Opcode缓存和PHP代码的加密
  11. 白炽灯的用途和工作原理
  12. 学tlc和JAVA,#Java学习之路——第一部分总结
  13. B/S模式下的MVC架构迭代(2)
  14. csr867x入门之iis使用(八)
  15. Easyexcel·读取excel
  16. 超级玛丽2号max即将停售定期?是谣言还是确有其事,有啥影响
  17. 工程流体力学笔记暂记8(伯努利方程的推导)
  18. 利用Vue的计算属性计算平均值总成绩
  19. 在oracle你如何加供应商,cognos特定于供应商的函数如何添加oracle函数
  20. 资源管理系统-VUE使用ckplayer实现视频列表播放

热门文章

  1. 介绍几个编程学习网站
  2. Makefile的ifdef和ifeq,以及debug和release
  3. mysql affected rows_mysql UPDATE后通过mysql_affected_rows判断是否成功,没有则INSERT ,结果出问题了...
  4. 已进入测试阶段,8月9日华为开发者大会“鸿蒙”系统或首次亮相
  5. 中国最大统计学与大数据盛会召开在即
  6. 少吃游离糖,降低心血管疾病风险
  7. 【学习笔记】| Java多线程基础
  8. GDAL读写Tiff、DEM文件
  9. 【chromium】常用设计模式:委托模式(Delegate Pattern)、观察者模式、 工厂模式。
  10. 分享这些实用但冷门的软件