如何让 QtWebKitWidgets.QWebView 与 qt designer 一起工作

How to get QtWebKitWidgets.QWebView to work with qt designer

我想 integrate/show 在我的主要 window 上创建一个网页 (url) 部分。我使用 anaconda、pyqt (5.6) 和设计师。我通过设计器在我的主窗体上添加了一个 QWebView。但是我不能运行。当我尝试 运行 主 window 时得到的错误是:

self.webView_test = QtWebKitWidgets.QWebView(self.centralwidget)
NameError: name 'QtWebKitWidgets' is not defined

我做了一些调查,发现有很多类似的帖子。似乎 QtWebKitWidgets(以及 QtWebKit)不再可用(已弃用)。这很令人困惑,因为我通过设计器获得了 QWebView 选项。

我正在寻找无需重新安装 pyqt 或进行任何其他重大更改即可解决问题的答案。虽然我可以从 anacondas 网站等安装一些东西 (package/module)。我想完全从设计师那里做 gui 方面,所以如果有办法,请给我一些帮助。

参考:

https://github.com/conda-forge/pyqt-feedstock/issues/19

看来答案很简单。感谢@Nimish Bansal,以下解决了它:

只需添加以下行:

from PyQt5 import QtWebKitWidgets

进入pyuic生成的原始py文件。每次修改 window 设计器时,都必须牢记(此更改)。它不会自动添加该行。而已!

编辑:我刚刚注意到 (import) 行确实带有 pyuic。但它属于 UI 文件中的主要代码 - 不在顶部。我总是评论那个部分,所以直到现在我才注意到它。您所要做的就是切断他们的行(我提供的那行)并将其移至顶部(其他导入所在的位置)。