Python PyQt5 无法导入名称“QWebView”

Sir*_*b33 3 python pyqt5

我不断收到此错误:

ImportError: cannot import name 'QWebView'
Run Code Online (Sandbox Code Playgroud)

...对于这段代码:

import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebPage
Run Code Online (Sandbox Code Playgroud)

-我在运行 High Sierra 10.13.3 的 Mac 上
-我安装了 Python 3.6.4 -
安装了 PyQt5(这样做了几次,包括使用 HomeBrew)

我很确定一切都安装正确,因为当我运行时python3 -m pip install PyQt5它告诉我Requirement already satisfied

MacBook-Pro-3:~ ericj36$ python3 -m pip install PyQt5
Requirement already satisfied: PyQt5 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
Requirement already satisfied: sip<4.20,>=4.19.4 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from PyQt5)
Run Code Online (Sandbox Code Playgroud)

当我尝试运行我的代码时,我得到的完整错误是:

 ...line 4, in <module>
    from PyQt5.QtWebEngineWidgets import QWebView
ImportError: cannot import name 'QWebView'
Run Code Online (Sandbox Code Playgroud)

那么这里会发生什么呢?我究竟做错了什么?(我是 Python 新手 - 但不是开发。)

任何帮助将不胜感激。

mat*_*ata 8

Qt5 有两种不同的 Web 工具包:基于 WebKit 的 QtWebKit 和QtWebEngine基于 Chromium的更新版本。

您的进口似乎混淆了这两者。QWebPageandQWebView是 的一部分QtWebKit,而不是QtWebEngine,其中有QWebEngineViewQWebEnginePage

所以你可以选择

这两者的接口在很大程度上兼容,但并不完全相同。