import sys
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QPainter, QPen
from PyQt5.QtCore import Qt, QPoint, QPointF, QLineF
class LineDrawer(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Соединение точек")
self.setGeometry(100, 100, 400, 300)
self.list_t = [(0.0, 79.4), (1.0, 80.0), (2.0, 79.1), (3.0, 79.5),
(4.0, 80.5), (5.0, 80.2), (6.0, 79.3)]
def paintEvent(self, event):
# p1 = QPoint(0,79.4)
# p2 = QPoint(40,80)
# p3 = QPoint(80,79.1)
# p4 = QPoint(120, 79.5)
# p5 = QPoint(160, 80.5)
# p6 = QPoint(200, 80.2)
# p7 = QPoint(240, 79.3)
painter = QPainter(self)
pen = QPen(Qt.GlobalColor.red, 3)
painter.setPen(pen)
# painter.drawLine(p1, p2)
# painter.drawLine(p2, p3)
if len(self.list_t) >= 2:
for i in range(len(self.list_t) - 1):
x1, y1 = self.list_t[i]
x2, y2 = self.list_t[i + 1]
points = QLineF(x1, y1, x2, y2)
painter.drawLine(points)
# painter.drawLine(points[i + 1])
app = QApplication(sys.argv)
window = LineDrawer()
window.show()
sys.exit(app.exec())