【问题标题】:Unable to render webpage using QWebEngineView无法使用 QWebEngineView 呈现网页
【发布时间】:2022-06-29 02:08:04
【问题描述】:

我一直在尝试将网页渲染到 PyQt5 中的小部件上。 这些是我的设置 PyQt : 5.15.4 | PyQtWebEngine:5.15.4 | PyQt5-tools 5.15.4.2

我正在尝试渲染一些基本网站,例如 google.com,但我面对的是一个空白页面。

self.google_lib_viewer= QtWebEngineWidgets.QWebEngineView(self.google_lib_tab)
self.google_lib_viewer.setGeometry(QtCore.QRect(0, 0, 656, 411))
self.google_lib_viewer.setObjectName("google_lib_viewer")
self.google_lib_viewer.load(QtCore.QUrl("https://google.com"))

但似乎什么都看不见。

我什至尝试使用 PyQt5 创建一个非常普通的网页,但即使这样也出现了空白。我尝试卸载我的 PyQt5 包并重新安装它们,但似乎没有任何效果。 有人可以帮我解决这个问题吗!

我已将代码分成单独的代码。请使用它来重现问题。

import os, sys
from PyQt5.QtCore import *
from PyQt5.QtWebEngineWidgets import *
from PyQt5.QtWidgets import QApplication

app = QApplication(sys.argv)
web = QWebEngineView()

web.load(QUrl("http://google.com"))
web.show()

sys.exit(app.exec_())

我还发现网页加载时有一个小闪烁,然后它又消失了。我认为很快关闭可能会加载某些内容

【问题讨论】:

  • 请提供minimal reproducible example。您可能还想连接到各种signals 来监控页面加载的进度。
  • 您好,我已经用示例代码更新了主代码,因此更容易重现。
  • 我没有安装PyQt5,但是当我将PyQt5 替换为PySide2 时,您提供的示例代码运行良好。
  • 我用 PySide2 尝试过同样的方法,但这对我也不起作用
  • 然后,正如我所说,您需要连接到各种信号并检查错误等。

标签: python qt pyqt pyqt5 qwebengineview


【解决方案1】:

从 Ubuntu 20.04 升级到 22.04 后,我遇到了完全相同的问题。这是我经过数小时的反复试验后解决的方法:

首先,我检查了pip3 list 安装和删除了哪些 PyQt5 包(使用pip3 uninstall ...,尤其是 PyQt5-Qt5)和所有 PyQtWebEngine 包。然后,我就这样安装了PyQt5 5.15.6版本和webengine(第二种基本按照Carlos):

     pip3 install PyQt5-Qt5==5.15.6
     sudo apt-get install -y python-pyqt5.qtwebengine 

这很有效,至少对我来说是这样。希望对其他人有所帮助...

【讨论】:

    【解决方案2】:

    web = QWebEngineView(widget name) # 你将在这里写下你创建的widget的名字

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2020-09-25
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多