Pyqt5Pyside应用程序与Ipywidgets和交互式数字。

问题描述 投票:0回答:1

我正在建立一个图形用户界面(pyqt或pyside),以便为用户轻松创建复杂的数字(例如,使用plotly).到目前为止还不错,我运行数据处理并生成plotly数字,这些数字被导出为html并被 QwebEngineView. 我甚至创建了一个qt小部件,供用户编辑布局(见下图)。

enter image description here

问题是在更新布局->导出到临时html文件→打开并在GUI上渲染文件的过程中会有很长时间的延迟(几秒钟),我想让布局编辑有更好的GUI体验。

按照这个伟大的 乔恩-梅斯谈话 我发现我的plotly数字可以实时更新,使用的也是伟大的。ipywidgets但只能在Jupyter笔记本实验室环境下使用。也就是说,将widgets+figure导出到html文件中,可以渲染所有的元素,但是由于python后台将缺少widgets(在独立的html文件中),它们不会与图的布局交互。

然而,我的应用程序是运行在python进程上的,所以我感觉这应该是一个可以解决的问题... ...

Qtconsole 不会渲染ipywidgets,所以我不能用它在GUI中显示我的数字。

渲染具有交互式部件的Jupyter笔记本,但我不确定是否可以访问它并将其整合到GUI中。它说它既可以作为 "独立的龙卷风应用程序",也可以作为 "笔记本或jupyter_server的服务器扩展"。

我知道可能没有最终的解决方案,但我很感激任何关于如何解决这个问题的建议。谢谢!我正在构建一个GUI(图形用户界面),我知道可能还没有最终的解决方案,但我很感激任何关于如何解决这个问题的建议!谢谢

python pyqt5 jupyter ipywidgets plotly-python
1个回答
1
投票

最后我为这个问题创建了一个解决方案。QtVoila

它基本上是一个扩展的 QWebEngineView 来管理和渲染Voila流程,并提供一些额外的功能。

这里有一篇博文解释它的实现。 https:/luiztauffer.github.ioguacamole-data-scienceposts2020-04-20-qtvoila。

© www.soinside.com 2019 - 2024. All rights reserved.