簡體   English   中英

帶有 Ipywidgets 和交互式圖形的 Pyqt5/Pyside 應用程序

[英]Pyqt5/Pyside application with Ipywidgets and Interactive figures

我正在構建一個 GUI(pyqt 或 pyside)來輕松地為用戶創建復雜的圖形(例如,使用 plotly)。 到目前為止一切順利,我運行數據處理並生成 plotly 圖形,這些圖形導出為 html 並由QwebEngineView讀取。 我什至創建了一個 qt 小部件供用戶編輯布局(見下圖)。

在此處輸入圖像描述

問題在於以下過程中的長時間延遲(幾秒):更新布局 -> 導出到臨時 html 文件 → 在 GUI 上打開並渲染文件。 我想通過布局編輯獲得更好的 GUI 體驗。

在這個偉大的Jon Mease 演講之后,我發現我的 plotly 數字可以使用同樣出色的ipywidgets實時更新,但只能在 Jupyter 筆記本/實驗室環境中。 也就是說,將小部件+圖形導出到 html 文件會渲染所有元素,但由於小部件缺少 python 后端(在獨立的 html 文件中,它們不會與圖形的布局交互)。

但是,我的應用程序在 python 進程上運行,所以我覺得這應該是一個可以解決的問題......

Qtconsole不會渲染 ipywidgets,所以我不能用它在 GUI 中公開我的數字。

Voila使用交互式小部件呈現 Jupyter 筆記本,但我不確定是否可以訪問它並將其合並到 GUI 中。 它說它既可以作為“獨立的龍卷風應用程序”,也可以作為“筆記本或 jupyter_server 的服務器擴展”。

我知道可能沒有最終的解決方案,但我會很感激有關如何解決這個問題的任何建議! 謝謝!

我最終為這個問題創建了一個解決方案: QtVoila

它基本上是一個擴展的QWebEngineView ,它管理和呈現一個 Voila 進程,具有一些額外的功能。

這是一篇博客文章,解釋了它的實現:
https://luiztauffer.github.io/guacamole-data-science/posts/2020-04-20-qtvoila/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM