一、概述
QtCEF是QT的一个扩展库,可以将Chromium的内核嵌入到QT程序中,实现基于Web的应用。它是在Qt下封装了CEF(Chromium Embeded Framework)库,它是一个将Chromium嵌入到其他应用程序中的框架。
二、特点
QtCEF具有以下特点:
1、与QT完美集成,满足QT开发需求;
2、使用CEF嵌入Chromium内核,具有比较少的资源占用;
3、提供简单的API,易于使用;
4、具有良好的跨平台兼容性;
三、使用方法
1、环境配置
首先需要配置Qt和CEF运行环境,具体步骤为:
1、安装Qt开发环境;
2、下载CEF文件,解压后将“Release”文件夹中的文件拷贝到Qt安装目录下的“Tools”目录中;
3、在工程文件.pro文件中添加如下项:
INCLUDEPATH += $${CEF_BASE_DIR}/include
LIBS += -L$${CEF_BASE_DIR}/Release -lcef_sandbox -lcef -lcef_dll_wrapper -lcef_libcef_dll_wrapper -lEGL -lGLESv2
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
其中$${CEF_BASE_DIR}为CEF的安装目录。
2、在QT中使用QtCEF
下面是一个简单的QtCEF使用示例:
#include "client.h"
#include "include/cef_app.h"
#include "include/wrapper/cef_helpers.h"
int main(int argc, char *argv[])
{
CefMainArgs mainArgs(argc, argv);
CefRefPtr<ClientApp> app(new ClientApp);
int exitCode = CefExecuteProcess(mainArgs, app.get(), nullptr);
if (exitCode >= 0)
{
return exitCode;
}
CefSettings settings;
settings.multi_threaded_message_loop = true;
CefInitialize(mainArgs, settings, app.get(), nullptr);
CefRunMessageLoop();
CefShutdown();
return 0;
}
以上代码即是一个QtCEF的简单使用实例,其中ClientApp类可以自行定义。
四、总结
QtCEF是一个非常优秀的将Chromium内核集成到QT框架中的库,具有易用、跨平台、资源占用少等优点。在Web应用方面具有很大的潜力。