无法在PyQt5

时间:2016-06-17 08:45:23

标签: python qt 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 ....

5 个答案:

答案 0 :(得分:19)

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

您可能想切换到PyQt5.QtWebEngineWidgets

  

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

答案 1 :(得分:3)

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

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

答案 2 :(得分:3)

如果您真的要使用PyQt5.QtWebKitWidgets,则可以从命令行运行它:

pip install PyQtWebKit

让它做自己想做的事。

答案 3 :(得分:2)

在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

答案 4 :(得分:2)

我只是在回答,以防像我这样的人遇到这个问题: 我正在尝试运行qutebrowser,并且它有相同的错误,答案很简单,程序包已更改。 您有两种解决方案:

1)

    pip install PyQtWebEngine

2)

    pip install PyQt5==5.11.3

希望这可以解决以后出现的任何问题