在 PyQt5.5 过后移除了 QWebView 控件,改用 QWebEngineView ,但是这个刚开始用起来不是很方便,最近在整理一些例子的时候需要同时使用 QWebViewQWebEngineView ,故希望把 QWebView 重新加入到后面的 PyQt5 版本中,查看 PyQt5.10.1 的源码发现里面其实是有 QWebView 的,只是因为 Qt5.10.1 中没有编译好的 dll 等导致无法编译。

# 准备工作

  1. 安装 VS2015
  2. 安装 Qt5.10.1
  3. 前往 https://github.com/annulen/webkit/releases 下载对应的文件,比如:qtwebkit-5.212.0_alpha2-qt59-msvc2015-x86.zip
  4. 下载 PyQt5.10.1 源码
  5. 下载对应版本的 sip 源码

# 编译

  1. 设置环境变量 set PATH=D:\soft\Qt\Qt5.10.1\5.10.1\msvc2015\bin;%PATH%
  2. 首先进入 vs2015 命令行编译 sip 并安装, python configure.py && nmake && nmake install
  3. 进入 PyQt5.10.1 源码编译安装即可
  4. 如果要减少 PyQt5.10.1 的编译可以试试以下代码
D:\soft\Python35\python configure.py --confirm-license --no-designer-plugin --no-qml-plugin --disable=dbus --disable=QAxContainer --disable=QtAndroidExtras --disable=QtBluetooth --disable=QtDBus --disable=QtDesigner --disable=Enginio --disable=QtLocation --disable=QtMacExtras --disable=QtMultimedia --disable=QtMultimediaWidgets --disable=QtNfc --disable=QtSerialPort --disable=QtSql --disable=QtSvg --disable=QtTest --disable=QtWinExtras --disable=QtX11Extras --disable=QtXml --disable=QtXmlPatterns --disable=pylupdate --disable=pyrcc