gpt4 book ai didi

python - 如何将 html 附加到我的 QWebEngineView

转载 作者:太空宇宙 更新时间:2023-11-03 13:59:51 26 4
gpt4 key购买 nike

因此,在 PyQt4 中,您可以执行类似的操作将 html 附加到您的页面:

webView.page().mainFrame().documentElement().appendInside(some_html)

我试图在 PyQt5 的 QWebEngineView 中找到类似的功能,但我找不到任何有用的东西。

我的问题是我想在一个页面上加载许多 html 文件,并且需要大约 10 秒才能完成(意味着主 GUI 线程在这 10 秒内被阻塞,并且我的应用程序没有响应)。

所以我的解决方案是显示前 5 个,当用户按下按钮时,它会加载下一个 5(使用上述技术),依此类推。

所以我的问题是:QWebEngineView是否具有此功能,以及是否有其他方法可以处理QWebEngineView中的大或多个html文件。

最佳答案

documentElement()QWebElement并根据docsQt WebEngine 中不可用。

文档建议使用javascript来替换此类任务,例如以下代码将html添加到QwebEngineView:

import sys

from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtCore import QTimer, QDateTime

html = '''
<html>
<header><title>This is title</title></header>
<body>
Hello world
</body>
</html>
'''

def append():
some_html = "<p>{}</p>".format(QDateTime.currentDateTime().toString())
page.runJavaScript("document.body.innerHTML += '{}'".format(some_html))

app = QApplication(sys.argv)
view = QWebEngineView()
timer = QTimer()
timer.timeout.connect(append)
page = view.page()
page.loadFinished.connect(lambda: timer.start(1000))
page.setHtml(html)
view.show()
sys.exit(app.exec_())

关于python - 如何将 html 附加到我的 QWebEngineView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49328148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com