【问题标题】:PyQt/PySide simple XY Plot widgetPyQt/PySide 简单的 XY Plot 小部件
【发布时间】:2016-04-12 20:25:35
【问题描述】:

我想为我公司开发的新硬件编写简单的 GUI 工具。我需要使用 python,因为我的公司使用了很多旧库。 我现在的想法是使用 Python 和 PyQt 编写应用程序并使用 pyinstaller 将其部署给其他同事(到处安装 python 不是我们想要的)。到目前为止它工作得很好,但是当我尝试使用绘图库时,例如PyQwt,可执行文件的大小从大约 15MB 增加到 120MB。我发现这是因为 PyQwt 支持 NumPy。但是,我的项目不需要 NumPy。

我发现了一些绘图工具,例如:PyQwt、Matplotlib、PyQtGraph 但是,它们都使用 Numpy。

我的问题是:是否有不需要 Numpy 的 PyQt/PySide 绘图工具或框架?

我需要绘制的是简单的顺序数据。例如,一个传感器每秒提供一个温度,我想在 y/t 图中查看最后 20 个温度。

最好是没有 numpy 的 PyQwt。 PyQwt 主页说 NumPy 是可选的。 最终是否有可能以跳过 numpy 的方式配置 PyInstaller?

非常感谢您的帮助!

我的系统: Windows 7的 PythonXY 2.7.10 PyQT4

【问题讨论】:

  • 是的,许多绘图库都使用 numpy。您可能还想研究使用像flask 这样的python 微型Web 框架来处理您的业务逻辑并将gui 设计为浏览器内的Web 应用程序。 Javascript 图形库比 python 中的任何东西都更漂亮和交互。

标签: python plot pyqt pyside pyinstaller


【解决方案1】:

查看documentation,下至3.Fine Tune (Optional):

到 configure.py 选项。

configure.py 脚本有很多选项。命令:

python configure.py -h

显示可用选项的完整列表

然后查看这些选项,我可以看到如何禁用Numpy

检测选项:

--disable-numarray  disable detection and use of numarray [default
                    enabled]
--disable-numeric   disable detection and use of Numeric [default enabled]
--disable-numpy     disable detection and use of NumPy [default enabled]

因此,如果您在PyQwt 目录下运行以下命令,您将能够禁用Numpy

$:python configure.h --disable-numarray

如果您的要求只是绘制简单的顺序数据,例如传感器读数与时间的关系,我建议您使用PyQtGraphreal time plotting 的示例。

一个通用的例子:

import pyqtgraph as pg
pw = pg.PlotWidget(name='My Graph')
horizontalLayout_Plot.addWidget(pw)
x,y = range(10),range(10)
pw.plot(x,y)

【讨论】:

  • 你能在你的帖子中澄清为什么你推荐 pyqtgraph 进行“实时”绘图吗? Matplotlib 也能做到这一点。我从来没有 pyqtgraph 所以我很好奇。
  • @Schollii .. 只是因为我需要在我的软件中绘制一些应该尽可能简单的东西,而且我发现pyqtgraph 非常易于使用。我不必禁用任何选项来避免numpy...或其他任何事情。
  • 谢谢。所以基本上是因为学习曲线和配置更简单。积分多的时候速度呢?
  • 抱歉迟到了,我需要在最后几天从事不同的项目。我用 pyqtgraph 尝试了一个简单的测试程序,效果很好,但是当我尝试使用 pyinstaller 从中制作可执行文件时,大小仍然在 100 MB 左右。今天我尝试编译 PyQWT 没有 numpy 如你所说。但是,这比我想象的要困难得多,因为存在版本冲突:请参阅link。有没有没有 Numpy 的 PyQwt 预编译版本? @IronFist
猜你喜欢
  • 2017-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多