大家好,我只是尝试使用pyqt5(我使用python-3.5)来呈现html。我实现了这个类(页面)来完成这个任务:
#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)
这段代码工作了几次(在 for 循环中)。但是经过几次运行后,我遇到了异常:
[15952:7692:0115/010330.922:ERROR:cache_util_win.cc(20)] 无法移动缓存:5 [15952:7692:0115/010330.922:ERROR:cache_util.cc(134)] 无法移动缓存文件夹 C: \Users...\QtWebEngine\Default\GPUCache 到 C:\Users....\QtWebEngine\Default\old_GPUCache_000 [15952:7692:0115/010330.922:ERROR:cache_creator.cc(134)] 无法创建缓存 [15952 :7692:0115/010330.922:ERROR:shader_disk_cache.cc(570)] 着色器缓存创建失败:-2 [15952:7692:0115/010331.027:ERROR:cache_util_win.cc(20)] 无法移动缓存:5 [15952 :7692:0115/010331.027:ERROR:cache_util.cc(134)] 无法将缓存文件夹 C:\Users...\QtWebEngine\Default\Cache 移动到 C:\Users...\QtWebEngine\Default\old_Cache_000 [15952 :7692:0115/010331.027:ERROR:cache_creator.cc(134)] 无法创建缓存
当它崩溃时,它也会以奇怪的退出代码(不是零)退出。它看起来像:
进程以退出代码 -1073741819 (0xC0000005) 结束
它退出是因为该行self.app.quit()
(在我班级的“可调用”函数中)。
怎么解决??