QWebEngineView不会加载内容,除非我重新加载

时间:2018-10-18 11:01:51

标签: python python-3.x d3.js pyqt5 qwebengineview

我正在使用PyQt5来显示运行Javascript / D3的html页面。 JS / D3代码从本地路径导入csv数据。我有三个html页面,我正在尝试在三个选项卡上加载它。但是,只有第一个成功加载。第二个和第三个设置了背景色,但不再加载。

但是,如果我右键单击第二个(或第三个)html并单击重新加载,它将立即重新加载。

所有三个html页面均引用本地csv数据。

这是我用来加载html的代码:

self.view.setPage(WebEnginePage(self.view))
url = QtCore.QUrl.fromLocalFile(QtCore.QFileInfo("HTML//page1.html").absoluteFilePath())
self.view.load(url)

self.view_2.setPage(WebEnginePage(self.view_2))
url = QtCore.QUrl.fromLocalFile(QtCore.QFileInfo("HTML//page2.html").absoluteFilePath())
self.view_2.load(url)

self.view_3.setPage(WebEnginePage(self.view_3))
url = QtCore.QUrl.fromLocalFile(QtCore.QFileInfo("HTML//page3.html").absoluteFilePath())
self.view_3.load(url)

我还使用以下类在python控制台上打印JS console.log:

class WebEnginePage(QWebEnginePage):
    def javaScriptConsoleMessage(self, level, message, lineNumber, sourceID):
        print("javaScriptConsoleMessage: ", level, message, lineNumber, sourceID)

它显示所有对象和控制台消息,但不会引发错误。

有人可以帮忙吗?

0 个答案:

没有答案