I have following code that works on linux and my windows 7 machine even using WinPython environment:
# plt_file is valid html produced by Bokeh and that i
would this work better ?
plot = ""
with open(plt_file, "r") as f:
plot = f.read()
# self.plot_web_view.setContent(plot)
url = QUrl(plt_file)
self.plot_web_view.setHtml(plot, url)
Bokeh is actually two libraries: a Python library "Bokeh
", and a JavaScript library "BokehJS". The JavaScript library BokehJS is actually what does all the work in the browser, and is absolutely required. A little googling turns up many links, including this other StackOverflow answer, which seem to indicated that QWebView
does not load external <script>
tags in HTML. If that is the case, you will have to find some other means to load the required BokehJS files. Another option might be to use "inline" BokehJS, which can be accomplished by one way by setting the environment variable BOKEH_RESOURCES=inline
when you run the scripts to create the HTML files. Please be aware that this will make individual HTML output files substantially larger (BokehJS is a fairly hefty library) and additionally will defeat any caching of external scripts that modern browsers do (but maybe QWebView
doesn't do that anyway).
Lastly, while I do hope you can find a path that works, just to be clear: QWebView
is not a "supported" platform, in the sense that no testing is done to ensure Bokeh is compatible with QWebView
and no guarantee of compatibility with QWebView
is claimed.