zoukankan      html  css  js  c++  java
  • Qt 从QWebKit到QWebEngine

    目录

    QWebKit与QWebEngine的区别

    QtWebEngine模块

    升级流程

    更改头文件

    中文问题

    平台相关性问题

    QWebKit与QWebEngine的区别
    QtWebEngine模块
    模块中,Qt WebEngine Core是基于chromium的核心,widgets、WenEngine和 process主要分别针对桌面、QML等需求。

    与WebKit主要区别:

    区别项目

    WebKit

    WebEngine

    调用习惯

    同步

    异步

    Html5兼容性

    较差

    windows编译器兼容性

    同步vs异步
    QWebKit很多操作都是同步进行的,包括JS的调用、获得返回值等等。QWebEngine几乎所有的操作都是异步的。

    Html5兼容性
    WebKit打开带有WebGL的3d CesiumJS 地理信息客户端时,性能显著低于 QWebEngine。在python tensorflow 对应的tensorboard监控状态页面表现差别更大。

    编译器兼容性
    QWebKit在windows下有mingw、vc++几个版本的预编译包。但是,要是使用QWebEngine,貌似暂时只能使用VisualStudio,且官方提供的是x64版本。从编译器兼容性来说,WebKit显然更好。

    版本支持
    Qt5.4开始提供QWebEngine,Qt5.5版本QWebEngine和QWebKit同时存在,Qt5.6之后废弃QWebKit。

    综合以上因素,将QWebKit更换成QWebEngine,将Qt版本从Qt4.8升级到Qt5.7。同时Qt5使用了大量的C++11的特性,然而VC2013之前的版本对C++11基本不能很好的支持,所以要将VS2008+ Qt4.8工程移植到VS2013+ Qt5.7。参考官方提供的一个例子cookiebrowser。

    升级流程
    更改头文件
    相对于Qt4,Qt5的一个主要的基础架构修改是,将 widget从QtGui模块剥离开来,简单地来讲,就是需要包含的头文件发生变化了,所以升级第一步得修改头文件,否则编译无法通过。

    i. #include <QtGui/QWidget>修改为#include <QWidget>
    ii. #incude <QColorGroup>注释掉(Qt5没有QColorGroup这个头文件了)
    iii. #include <QtGui/QMainWindow>更改为#include <QMainWindow>
    iv. #include <QtGui/QApplication>更改为#include <QtWidgets/QApplication>
    中文问题
    由于Qt5取消了很多字符串的函数,所以把Qt4的项目升级到Qt5可能会出现中文显示的问题。

    平台相关性问题
    Qt5WebEngine.exe 运行时需要调用opengl32sw.dll动态库,系统不同会导致Qt5WebEngine.exe运行时崩溃,初始化Application后调用(在main函数里)

    QApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);
    并将opengl32sw.dll放在运行目录下

    本行代码指定使用软件版openGL,不去调用硬件openGL驱动渲染,避免因系统环境不同导致的崩溃。
    ————————————————
    版权声明:本文为CSDN博主「灰太狼1号」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/deram_boy/article/details/84871604

  • 相关阅读:
    事件冒泡
    jquery validation验证身份证号、护照、电话号码、email
    移动平台对 meta 标签的定义
    css3属性笔记
    渐变的参数
    各浏览器前缀
    Ubuntu20.04安装Matlab2018b
    win7 php安装使用
    mysql输入命令后没响应
    CentOS7上搭建Dokuwiki
  • 原文地址:https://www.cnblogs.com/chinasoft/p/15009682.html
Copyright © 2011-2022 走看看