|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 haiyingbs 于 2022-8-26 10:40 编辑
我做了一个项目需要用到setHtml 渲染程序生成的html.
生成的html少时,可能正常渲染。但是如果生成多了就一点反应都没有,就像没有触发这个事件一样。
我的理解应该是QWebEngineView-> setHtml 不能渲染过多的html代码。如果多了,直接不进行操作。
有那位大神知道是不是这个原因,有什么办法可以解决让setHtml渲染更多的html代码。
找到问题了:
无法显示大于 2 MB 的内容,因为将提供的 HTML 转换为百分比编码并data在其前面放置 : 以创建导航到的 URL。因此,提供的代码成为超过 Chromium 设置的 2 MB 限制的 URL。如果内容太大,loadFinished()则用 触发信号success=false
有啥办法解决吗?
python代码如下:
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import sys
import os
from PyQt5.QtWebEngineWidgets import QWebEngineView
class Window(QMainWindow):
def __init__(self, parent=None):
super(Window, self).__init__(parent)
self.qwebengine = QWebEngineView()
#多的html code,无法显示,代码没问题
html="""
多的html 代码,无法显示,代码没问题,在chrome游览器里可以正常显示,上万行的。本来想附件把html传上来的,但没有找到上传入口。
"""
#少的就可以正常显示
html1="""
少的html 代码,无法显示,代码没问题
"""
self.qwebengine.setHtml(html1,QUrl('file://'))
self.setCentralWidget(self.qwebengine)
app = QApplication(sys.argv)
screen = Window()
screen.showMaximized()
sys.exit(app.exec_()) |
|