大家好我只想尝试使用pyqt5(我使用python-3.5)来渲染html。 我实现了这个类(Page)来完成这个任务:
#This is the Main.py.
import sys
from PyQt5.QtWebEngineWidgets import QWebEnginePage
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QUrl
import UrlDl
class Page(QWebEnginePage):
def __init__(self, html, url):
self.app = QApplication(sys.argv)
QWebEnginePage.__init__(self)
self.html = None
self.loadFinished.connect(self._on_load_finished)
self.setHtml(html, QUrl(url))
self.app.exec_()
def _on_load_finished(self):
self.html = self.toHtml(self.Callable)
print('Load finished')
def Callable(self, html_str):
self.html = html_str
#print("quit called")
self.app.quit()
def main():
url = ''#Base_Url
with open('C:\\HTML_FILE_PATH', "r") as text:
url_html = text.read()
for i in range(10):
page = Page(url_html, url)
print(page.html)
if __name__ == '__main__': main()
我正在以这种方式使用html(已经下载)和基本URL运行此类:
page = Page(html, base_url)
此代码工作了几次( in for loop )。但经过几次运行,我得到了例外:
[15952:7692:0115 / 010330.922:错误:cache_util_win.cc(20)]无法 移动缓存:5 [15952:7692:0115 / 010330.922:错误:cache_util.cc(134)]无法移动 缓存文件夹C:\ Users ... \ QtWebEngine \ Default \ GPUCache to C:\用户.... \ QtWebEngine \ DEFAULT \ old_GPUCache_000 [15952:7692:0115 / 010330.922:错误:cache_creator.cc(134)]无法 创建缓存 [15952:7692:0115 / 010330.922:错误:shader_disk_cache.cc(570)]着色器 缓存创建失败:-2 [15952:7692:0115 / 010331.027:错误:cache_util_win.cc(20)]无法 移动缓存:5 [15952:7692:0115 / 010331.027:错误:cache_util.cc(134)]无法移动 缓存文件夹C:\ Users ... \ QtWebEngine \ Default \ Cache to C:\用户\ QtWebEngine \ DEFAULT \ old_Cache_000 [15952:7692:0115 / 010331.027:错误:cache_creator.cc(134)]无法 创建缓存
当它崩溃时它也会退出奇怪的退出代码(不是零)。它看起来像:
处理完成,退出代码为-1073741819(0xC0000005)
它退出是因为行self.app.quit()
(在" Callable"我班上的函数)。
如何解决?