感谢我的大佬同学,解决了这个大难题。
(关于pyqt的gui制作使用,可参考博主文章传送门)
步骤图
程序
然后将.ui转为.py(根据上面的博主文章传送门)
只有三个文件:
然后新建main.py写进程序:
from PyQt5.QtWidgets import QApplication
from PyQt5 import QtWidgets, uic
import pyqtgraph as pg
from pyqtgraph.Qt import QtCore, QtGui
import numpy as np
import serial
import serial.tools.list_ports
import sys
from untitled import Ui_MainWindow
class embedbutton(QtWidgets.QMainWindow,Ui_MainWindow):
def __init__(self):
super(embedbutton,self).__init__()
self.setupUi(self)
self.data = np.zeros(300)
# self.p=self.ui.graphicsView.addPlot()
self.p = self.graphicsView.addPlot() # 点一次按钮,生成一个新图框
self.curve = self.p.plot(self.data)
self.p.setYRange(1, 2)
self.ptr1 = 0
def update():
global data, ptr1
self.data[:-1] = self.data[1:] # shift data in the array one sample left
self.data[-1] = np.random.normal()
# self.data[-1] = b[0]
self.ptr1 += 1
self.curve.setData(self.data)
self.curve.setPos(self.ptr1, 0)
self.timer = pg.QtCore.QTimer()
self.timer.timeout.connect(update)
self.timer.start(50)
app = QApplication(sys.argv)
a = embedbutton()
a.show()
sys.exit(app.exec_())
运行main.py程序即可