1

大家好,我只是尝试使用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()(在我班级的“可调用”函数中)。

怎么解决??

4

0 回答 0