(1)QWebkit与QWebEngine
版本发展: QWebkit 5.5之前浏览器开发使用的QWebkit;Qt 5.5同时支持QWebkit 和QWebEngine;Qt 5.6之后不再支持QWebkit,只支持QWebEngine。
区别:QWebkit基于Webkit内核;QWebEngine基于chrome内核,功能更加完善。
我开发的浏览器之所以要将之前的QWebkit替换为QWebEngine,是因为想要找到一个更稳定的浏览器内核;
而且我开发的浏览器需要调用电脑中安装插件软件,在QWebkiit下使用的方法是:使用dumpcpp制作该插件的QActive类的库文件;新建QWidget来包裹这个QActiveX类,并重新实现其中的槽函数;再使用QWebPage::createPlugin()函数创建自定义浏览器插件来调用这个新建的QWidget。 可以实现插件的调用,但是会出现图层问题,也就是调用的插件会一直在网页图层的顶层且无法改变。 这个问题,使用QRegion::setMask可以勉强解决。 这种方法比较麻烦,而且需要网页的js文件配合修改,比较麻烦。
QWebEngine使用chrome内核,调用本地插件的时候,可以直接调用ppapi插件。
(2)QT 5.8下使用QWebEngine
要注意QT 5.8下使用QWebEngine,在windows环境下必须是Qt 5.8 msvc2015,而且必须安装Visual Studio 2015 和 Windows 10 SDK。
Qt5.8下使用QWebEngine要求的环境: http://doc.qt.io/qt-5/qtwebengine-platform-notes.html
(3)QWebEngine开发环境的搭建参考下面链接
Qt 5.8.0使用QtWebEngine的windows环境搭建