使用 PyQt5 WebEngine 显示网页

Posted

技术标签:

【中文标题】使用 PyQt5 WebEngine 显示网页【英文标题】:Displaying web page with PyQt5 WebEngine 【发布时间】:2020-07-26 15:50:51 【问题描述】:

我在使用 QtWebEngineWidgets 库时遇到了一些问题。 主要思想是在 QWebEngineView 中显示 PDF,所以我想首先显示一个像 https://google.com 这样的网页。

我测试了很多来自不同网站和论坛的代码,但我总是遇到同样的问题,PyQt 页面什么也没显示。

我想让您注意来自 codeloop (https://codeloop.org/python-how-to-make-browser-in-pyqt5-with-pyqtwebengine/) 的代码

import sys
from PyQt5.Qt import *
from PyQt5.QtWebEngineWidgets import *
from PyQt5.QtWidgets import QApplication

app = QApplication(sys.argv)

web = QWebEngineView()

web.load(QUrl("https://google.com"))

web.show()

sys.exit(app.exec_())

(我选择这个是因为它是一个简单的代码,完美地说明了我一直遇到的问题)

我对你所有的答案和cmets持开放态度。

编辑 我有 : PyQt5 5.15.0 PyQt5-sip 12.8.0 PyQtWebEngine 5.15.0

(对话框:应用程序无法正确启动)

【问题讨论】:

你安装的是什么版本的pyqt5和pyqtwebengine?你可以从 CMD/console 运行你的脚本 你考虑过对话框吗?代码工作正常。可能是安装有问题 感谢您的回答@eyllanesc,我用版本编辑了我的帖子。我在启动程序时发现了一个错误:我在帖子中放了一个屏幕截图。编辑:你说的是我截图中的对话框? @FabienDenoyelle 我不明白错误信息,你能翻译成英文吗?也尝试安装 pyqt5 pyqtwebengine 旧版:python -m pip install pyqt5==5.14.0 pyqtwebengine==5.14.0 它没有影响,我仍然有同样的错误信息。 【参考方案1】:

感谢@eyllanesc,实际上问题出在权限上。通过根据python文档(https://docs.python.org/fr/3/tutorial/venv.html)创建一个虚拟环境,我的程序可以完美运行。

【讨论】:

以上是关于使用 PyQt5 WebEngine 显示网页的主要内容,如果未能解决你的问题,请参考以下文章

使用 webengine 视频和音频编解码器

PyQt WebEngine 设置 http 标头

Qt WebEngine 模拟鼠标事件

Qt WebEngine设置socks5代理

Qt WebEngine 密码管理器 - 如何检测网站上何时使用用户名/密码

JavaFX 2.0+ WebView /WebEngine 将网页呈现为图像