haiyingbs 发表于 2022-8-25 15:19:53

QWebEngineView-> setHtml 渲染html代码问题

本帖最后由 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_())

hrpzcf 发表于 2022-8-25 16:49:01

问题太空洞了,啥都没有,至少来个能复现问题的代码吧?

haiyingbs 发表于 2022-8-25 18:17:27

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_())


hrpzcf 发表于 2022-8-25 23:03:45

haiyingbs 发表于 2022-8-25 18:17
python代码如下:

from PyQt5.QtCore import *


可以加载的呀,要等好一会儿,可能是因为加载的html代码需要其他的外部资源但是又访问不了的原因

haiyingbs 发表于 2022-8-26 08:55:15

本帖最后由 haiyingbs 于 2022-8-26 09:13 编辑

hrpzcf 发表于 2022-8-25 23:03
可以加载的呀,要等好一会儿,可能是因为加载的html代码需要其他的外部资源但是又访问不了的原因

少的是可以加载的,但是多的就加载不了了
但是2W多行的代码就加载不了了
比如这个页面的代码:https://www.exfresh.com.cn/d.html
页: [1]
查看完整版本: QWebEngineView-> setHtml 渲染html代码问题