无法在 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
让它做它做的事。
我最近使用 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
让它做它做的事。