前面一节已经介绍了如何编译miniblink库以及如何在qt下使用,但是创立的是个独立窗体,应用中我们经常用到的是作为一个子窗体嵌入到其他窗体之中,类似QWebengnieView,本节将实现这个功能。
首先参考前一节将需要的库文件,头文件引入工程。
1.创建一个类QMiniblinkWebView继承自QWidget
2.初始化initialize接口
由于miniblink使用需要先初始化,这里设计在构造函数中处理这个问题,多个QMiniblinkWebView只需要初始化一次,所以这里定义两个静态变量
static bool _isInit;
static int _viewCount;
_isInit 用户判断是否初始化,_viewCount用户判断当前有多少个QMiniblinkWebView实例, 每次创建实力自动加一,当_viewCount为0时自动释放miniblink。为了方式 拷贝构造和复制私有化这两个函数
private:
QMiniblinkWebView & operator == (const QMiniblinkWebView&){}
QMiniblinkWebView(const QMiniblinkWebView&){}
初始化函数实现如下:
void QMiniblinkWebView::initialize()
{
QString nodePath = QApplication::applicationDirPath() + "/node.dll";
if(!QFile::exists(nodePath))
{
qDebug()<<QStringLiteral("请将node.dll拷贝到运行目录");
return;
}
std::vector<wchar_t> tempPath;
tempPath.resize(MAX_PATH);
nodePath.toWCharArray(&tempPath[0]);
wkeSetWkeDllPath(&tempPath[0]);
wkeInitialize();
_isInit = true;
++QMiniblinkWebView::_viewCount;
}
3. 释放接口
当前实力为0时 释放miniblink
void QMiniblinkWebView::finalize()
{
if(--QMiniblink

本文介绍如何将MiniBlink浏览器引擎集成到Qt应用程序中,包括创建可嵌入的Web视图组件、初始化与释放资源、调整大小及事件通知等关键步骤。
最低0.47元/天 解锁文章
2520

被折叠的 条评论
为什么被折叠?



