Python QWebEnginePage(PyQt5)崩溃

时间:2018-01-15 09:55:59

标签: python pyqt5 python-3.5 qwebenginepage

大家好我只想尝试使用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"我班上的函数)。

如何解决?

0 个答案:

没有答案