最近做了个东西,又开始用pyqt了,想想之前用这个,都已经好几年了。
pyqt当中画图是很麻烦的事情,matplotlib据说刷新很麻烦?反正pyqtgraph和pyqt就是一家,兼容很好,而且可以完美嵌入。
嵌入的方式也很简单。
1:
首先在ui上面加一个Layout,比如verticalLayout
这个红的就是了。
2:
代码语言:javascript复制import pyqtgraph as pg
然后在窗口的init函数中,
代码语言:javascript复制self.plot = pg.PlotWidget(enableAutoRange=True)
self.ui.verticalLayout.addWidget(self.plot)
self.curve = self.plot.plot()
这样呢,我们就把一个画图的对象绑定到了verticalLayout上了。
3:
我们要画东西的时候呢,直接传参数就可以了,一般传pandas的series或者np的array都可以、
代码语言:javascript复制self.curve.setData(data)
4:
如果这个东西还要更新,比如一秒钟刷新一次,那么在绘制之前clear一下。
代码语言:javascript复制self.curve.clear()