Bokeh plots do not display in QWebView

后端 未结 2 1622
难免孤独
难免孤独 2021-01-16 09:11

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         


        
相关标签:
2条回答
  • 2021-01-16 09:25

    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)
    
    0 讨论(0)
  • 2021-01-16 09:28

    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.

    0 讨论(0)
提交回复
热议问题