无法在 PyQt5 中导入 QtWebKitWidgets

Cannot import QtWebKitWidgets in PyQt5

我最近使用 Windows 32 位安装程序将 PyQt5 从 5.5.1 升级到 5.6.0:https://www.riverbankcomputing.com/software/pyqt/download5。我还将 python 从 3.4 升级到 3.5。

当我 运行 我的旧代码(曾经有效)与最新版本一起使用时,我得到一个异常:

    from PyQt5.QtWebKitWidgets import *
ImportError: No module named 'PyQt5.QtWebKitWidgets'

我的 python 中的所有 QT 调用都是连续发生的并且是(我知道我不应该导入 * 但我认为这不是问题所在):

        from PyQt5.QtCore import *
        from PyQt5.QtGui import *
        from PyQt5.QtWidgets import *
        from PyQt5.QtWebKitWidgets import *

所以 QtCore、QtGui 和 QtWidgets 导入都可以。

此外,当我搜索 QtWebKitWidgets 的源代码时,出现了对该模块的多个引用。

最后我的 python 路径如下所示:

C:\PYTHON35;C:\PYTHON35\DLLs;C:\PYTHON35\LIB;C:\PYTHON35\LIB\LIB-TK;

和环境路径:

C:\Python35\Lib\site-packages\PyQt5;C:\Python35;C:\Python35\Lib;C:\Python35\Lib\site-packages;C:\Python35\Scripts ....

QtWebKit 在 Qt 5.5 和 removed in 5.6.

的上游被弃用

您可能想要切换到 PyQt5.QtWebEngineWidgets.QWebEngineView

对于PyQt5.QtWebKitWidgets.QWebView的基本使用,只需在源代码中更新为使​​用PyQt5.QtWebEngineWidgets.QWebEngineView即可,但新组件可能存在一些差异,需要进一步调整。

在 PyQt5 中 "QtWebKitWidgets" 不再可用。相反,它被替换为 "QtWebEngineWidgets"。 因此您必须在代码中进行此更改。

更多信息:http://doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html

在 PyQt5 中 "QtWebKitWidgets" 已弃用。我只是替换这一行

from PyQt5.QtWebKitWidgets import QWebView, QWebPage
from PyQt5.QtWebKit import QWebSettings

使用此代码:

from PyQt5.QtWebEngineWidgets import QWebEngineView as QWebView,QWebEnginePage as QWebPage
from PyQt5.QtWebEngineWidgets import QWebEngineSettings as QWebSettings

我正在尝试 运行 qutebrowser,但它有同样的错误,答案很简单,包已更改。 您有两个解决方案:

1)

pip install PyQtWebEngine

2)

pip install PyQt5==5.11.3

希望这对以后的任何问题有所帮助

如果您真的想要使用PyQt5.QtWebKitWidgets,您可以运行从命令行执行此操作:

pip install PyQtWebKit

让它做它做的事。