我正在使用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)
它显示所有对象和控制台消息,但不会引发错误。
有人可以帮忙吗?