MCPcopy Index your code
hub / github.com/PyQt5/PyQt / DynamicSpline

Class DynamicSpline

QtChart/DynamicSpline.py:30–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28
29
30class DynamicSpline(QChart):
31 def __init__(self):
32 super().__init__()
33 self.m_step = 0
34 self.m_x = 5
35 self.m_y = 1
36 # 初始化图像
37 self.series = QSplineSeries(self)
38 green_pen = QPen(Qt.red)
39 green_pen.setWidth(3)
40 self.series.setPen(green_pen)
41 self.axisX = QValueAxis()
42 self.axisY = QValueAxis()
43 self.series.append(self.m_x, self.m_y)
44
45 self.addSeries(self.series)
46 self.addAxis(self.axisX, Qt.AlignBottom)
47 self.addAxis(self.axisY, Qt.AlignLeft)
48 self.series.attachAxis(self.axisX)
49 self.series.attachAxis(self.axisY)
50 self.axisX.setTickCount(5)
51 self.axisX.setRange(0, 10)
52 self.axisY.setRange(-5, 10)
53
54 self.timer = QTimer(self)
55 self.timer.setInterval(1000)
56 self.timer.timeout.connect(self.handleTimeout)
57 self.timer.start()
58
59 def handleTimeout(self):
60 x = self.plotArea().width() / self.axisX.tickCount()
61 y = (self.axisX.max() - self.axisX.min()) / self.axisX.tickCount()
62 self.m_x += y
63 # 在PyQt5.11.3及以上版本中,QRandomGenerator.global()被重命名为global_()
64 self.m_y = QRandomGenerator.global_().bounded(5) - 2.5
65 self.series.append(self.m_x, self.m_y)
66 self.scroll(x, 0)
67 if self.m_x >= 100:
68 self.timer.stop()
69
70
71if __name__ == "__main__":

Callers 1

DynamicSpline.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected