首页 文章

无法在PyQt5中导入QtWebKitWidgets

提问于
浏览
7

我最近使用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 ....

3 回答

  • 18

    QtWebKit 在Qt 5.5和removed in 5.6上游被弃用 .

    您可能想切换到PyQt5.QtWebEngineWidgets

    它取代了QtWebKit模块,并为HTML,CSS和JavaScript功能提供了更好和最新的支持

  • 2

    在PyQt5中"QtWebKitWidgets"不再可用 . 相反,它被替换为 "QtWebEngineWidgets". 所以你必须在代码中进行此更改 .

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

  • 3

    在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
    

相关问题