PyQt QWebEngineView 不加载任何 html
Posted
技术标签:
【中文标题】PyQt QWebEngineView 不加载任何 html【英文标题】:PyQt QWebEngineView not loading any html 【发布时间】:2021-09-17 20:51:11 【问题描述】:我尝试在 Windows 10(Parallels Desktop 又名虚拟机)下启动并运行 QWebEngineView()。对于 MacOSX,这根本不是问题,但在 Windows 上测试它时,一切都停止了。我将问题缩小到 QWebEngineView。
无论我想如何将网页/本地 html 站点加载到 QWebEngineView 中,都无法正常工作。
例如,我尝试启动 https://zetcode.com/pyqt/qwebengineview/ 的示例,在几秒钟内您会在窗口中看到一个白屏,然后一切都消失了(参见此剪辑的开头https://imgur.com/a/PNTt2U2)。控制台有no错误信息,什么也没有。
我还有什么要安装的吗?
python -m pip list
Package Version
----------------- --------
cachetools 4.2.2
future 0.18.2
pefile 2021.9.3
pip 21.2.4
py2exe 0.10.4.1
PyOpenGL 3.1.5
PyQt5 5.15.4
PyQt5-Qt5 5.15.2
PyQt5-sip 12.9.0
PyQtWebEngine 5.15.4
PyQtWebEngine-Qt5 5.15.2
PySide2 5.15.2
shiboken2 5.15.2
wheel 0.37.0
可能与此有关:
QWebEngineView not showing anything on Windows 10 PyQt5 QWebEngineView window won't show【问题讨论】:
如果你加载像https://***.com/
这样的网址,那么它可以工作吗?
@JaWeilBaum 可以肯定的是,您使用的是普通的 QWebEngineView 和 setUrl()
,对吗?这可能是虚拟化视频驱动程序的渲染问题。
@eyllanesc 不,这也不起作用 - 相同的行为......
@musicamante 是的,一个普通的 QWebEngineView,我使用 view.load(QUrl()) 来加载页面。可视化视频驱动程序的问题是公平的,但没有收到任何错误消息很奇怪。我什至用 Procmon 监控
【参考方案1】:
我刚刚在 Windows 10(不是虚拟机)上尝试了以下代码,它似乎工作正常。
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWebEngineWidgets import *
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
vbox = QVBoxLayout(self)
self.webEngineView = QWebEngineView()
self.webEngineView.setUrl(QUrl("https://doc.qt.io/qt-5.15/reference-overview.html"))
vbox.addWidget(self.webEngineView)
self.setLayout(vbox)
self.setGeometry(300, 300, 350, 250)
self.setWindowTitle('QWebEngineView')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
希望这会有所帮助,如果没有,那么您可能正在寻找一个更大的问题(可能 musicmante 是在正确的轨道上)
【讨论】:
以上是关于PyQt QWebEngineView 不加载任何 html的主要内容,如果未能解决你的问题,请参考以下文章