Pyside6绘制折线图并计算面积
import sys
import random
from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QMainWindow
from PySide6.QtCore import Qt, QRectF, QPointF, Signal
from PySide6.QtGui import QPainter, QPen, QColor, QMouseEvent
class PlotArea(QWidget):
area_calculated = Signal(float) # 定义一个信号,用于传递计算的面积
def __init__(self, parent=None):
super().__init__(parent)
self.data = [random.random() * 100 for _ in range(100)] # 生成随机数据
self.start_index = None
self.end_index = None
def paintEvent(self, event):
painter = QPainter(self)
painter.setRenderHint(QPainter.Antialiasing)
painter.fillRect(event.rect(), Qt.white)