在我的PyQt5 GUI(非基于Web的应用程序)中嵌入图形(数据可视化)的最佳方法

时间:2017-07-12 20:50:46

标签: user-interface embed pyqt5 pygal

免责声明:如果这个问题是基本的话,我很擅长编码。

我目前制作的程序需要进行一些测量并将数据格式化为csv文件。现在我希望能够在我在PyQt5中制作的应用程序中绘制这些测量值。

我一直在四处寻找可以用来绘制数据的库。我可以嵌入到我的应用程序中并且不需要在线依赖的东西。

我调查pygal,但pygal的问题是它使用需要互联网连接的svg文件,或者它将图形保存到png。

我希望能够在我的应用程序窗口中显示数据,为用户提供交互选项并调整窗口中的数据,然后选择是否保存图形。

我不确定这是否属实,但到目前为止我看过的图书馆(情节,散景)都是针对使用html嵌入的网页开发应用和网站。我只是想知道如果我可以在GUI中将这些库作为离线版本嵌入。

如果可以在我的应用中使用pygal,那么将图形添加到我的布局中的语法是什么样的?

1 个答案:

答案 0 :(得分:0)

如果你能在PyQt5中显示html / javascript / svg,你可以使用pygal离线。

使用方法

chart.render()

获取SVG,并替换" {pygal_render}"它在以下带有SVG的html字符串中。

<!DOCTYPE html>
<html>
  <head>
  <script type="text/javascript" src="http://kozea.github.com/pygal.js/javascripts/svg.jquery.js"></script>
  <script type="text/javascript" src="http://kozea.github.com/pygal.js/javascripts/pygal-tooltips.js"></script>
    <!-- ... -->
  </head>
  <body>
    <figure>
      {pygal_render}
    </figure>
  </body>
</html>

要让它脱机,请下载JS文件并将其放入脚本中,而不是链接它。