实现效果:每隔n秒钟,更新N个点的波形图。
思路:利用QTimer定时器的信号槽机制。QTimer会开辟一个新的线程,当 [超时信号] 发生时,会触发更新波形图的槽函数,以此定时更新波形图,同时不会造成界面卡顿。
import sys
import numpy as np
import pyqtgraph as pg
from test import Ui_Form
import warnings
warnings.filterwarnings('ignore')
from PyQt6.QtWidgets import *
from PyQt6.QtCore import *
class MyApp(QWidget, Ui_Form):
timer = None
def __init__(self):
super(MyApp, self).__init__()
self.setupUi(self)
# 设置背景色为灰色
pg.setConfigOption('background', '#f0f0f0')
# 设置前景色为黑色(坐标轴会变黑)
pg.setConfigOption('foreground', 'black')
# 设置曲线颜色和点样式
self.pic = pg.PlotWidget() # 这里有点小不同,没有直接画,而是通过调用方法画
self.curve = self.pic.plot(pen='r', symbol='o') # 返回一条曲线
# 设置坐标上下限
self.pic.setXRange(0, 100)