PyQt QtWebengineWidgets 与 PyQt 5.12

Posted

技术标签:

【中文标题】PyQt QtWebengineWidgets 与 PyQt 5.12【英文标题】:PyQt QtWebengineWidgets with PyQt 5.12 【发布时间】:2019-04-23 13:15:12 【问题描述】:

我在使用 QtWebengine 和 PyQt5.12 时遇到了一些问题。

我的故事从头开始:

制作程序并将 PyQt 用于 GUI 使用 cx_freeze 让我的同事更轻松地使用它 意识到我当前版本的 PyQt5.12 和 QtWebenginewidgets 存在问题(为了简短起见,WEW) 发现,PyQt5.12 不再包含 WEW -> 没问题,只需通过 pip 安装它们 意识到它仍然不起作用。 通过 PyQt 5.11.3 进行逆向工程(仍包括 WEW)--> 编译程序没有问题。

我现在的实际问题是,为什么它不适用于 PyQt/PyQt QtWebengineWidgets 5.12?

我有 64 位 Python(platform.architecture()[0] 返回 so),pip list 返回当前版本:

cx-Freeze 6.0b1 PyQt5 5.12.1 PyQtWebEngine 5.12.1

我的代码还包括

from PyQt5.QtWebEngineWidgets import QWebEngineView

这并不悲惨,因为 PyQt 5.11.3 的后备变体有效,但对于未来,我只想知道这种行为的真正根本原因。 我恳请您的意见。

PS:带有 anaconda 5.0.2 的 Windows10 和 pip 维护的主要是 up2date 模块。

编辑: 我刚刚意识到我忘了一件事,我也必须使用 PyQt5.11.3:将整个 PyQt5 文件夹从 anaconda 的 Site-packages 目录复制到 cx_freeze 构建文件夹的 lib 文件夹。看起来,有些东西没有导入。也许我会有时间对此进行调查并在这里分享我的知识。

【问题讨论】:

【参考方案1】:

从 5.12 版开始,QtWebEngineWidgets 已移至另一个名为 PyQtWebEngine 的包中。它必须单独安装。你可以看看https://www.riverbankcomputing.com/software/pyqtwebengine/intro

【讨论】:

您的回答没有任何贡献,OP 表明您正在使用 PyQtWebEngine。

以上是关于PyQt QtWebengineWidgets 与 PyQt 5.12的主要内容,如果未能解决你的问题,请参考以下文章

无法导入 PyQt5.QtWebEngineWidgets

PyQt5 等效于 QtWebEngineWidgets.QWebEngineView() 的 QtWebKitWidgets.QWebView.page.mainFrame()?

解决 No module named 'PyQt5.QtWebKitWidgets' 'PyQt5.QtWebEngineWidgets'

接受或删除 Cookie 关于使用 PyQt5 QtWebEngineWidgets 将 HTML 转换为 PDF 的通知

pyinstaller - 冻结应用程序时 QtWebEngineWidgets 抛出 dll 错误

ValueError:PyCapsule_GetPointer 使用不正确的名称调用 <from PyQt5.QtWebEngineWidgets import QWebEnginePage&g