problem
In the previous example in which Python used ecarts to draw charts in pyqt5, the radar was successfully loaded using qwebengineview, but an error was reported when the rising sun Sunburst was loaded later:
js:Uncaught ReferenceError: setData is not defined
。
After querying the data, we know that the custom SetData method cannot be found because the web page is not fully loaded.
Solution:
Call after the page is fully loaded.
sunburst_view.load(QUrl("file:///sunburst.html"))
sunburst_view.loadFinished.connect(set_sunburst_data) # 加上这一句
sunburst_layout.addWidget(sunburst_view)
def set_sunburst_data(self):
js = "setData({0})".format(self.data)
self.hero_count_view.page().runJavaScript(js)
solve the problem.