Python PyQt5 无法导入名称"QWebView"



我不断遇到此错误:

ImportError: cannot import name 'QWebView'

...对于这一点代码:

import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebPage

- 我在Mac上运行高塞拉10.13.3
- 我安装了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)

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

 ...line 4, in <module>
    from PyQt5.QtWebEngineWidgets import QWebView
ImportError: cannot import name 'QWebView'

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

任何帮助将不胜感激。

基于webkit和基于铬的较新的 QtWebEngine有两个不同的网络工具包。

您的进口似乎混合了这两个。QWebPageQWebViewQtWebKit的一部分,而不是QtWebEngine,它具有QWebEngineViewQWebEnginePage

因此您可以选择

  • WebEngine:

    from PyQt5.QtWebEngineWidgets import QWebEnginePage
    from PyQt5.QtWebEngineWidgets import QWebEngineView
    
  • webkit:

    from PyQt5.QtWebKitWidgets import QWebPage
    from PyQt5.QtWebKitWidgets import QWebView
    

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

最新更新