1.界面
2. 方法
QChartView派生自QGraphicsView,可专门用来展示QChart图表。可将QGraphicsView提升为QChartView。
3.代码
import sys
from PySide6.QtWidgets import QApplication, QMainWindow
from PySide6.QtCharts import QChartView, QChart, QValueAxis, QLineSeries
from PySide6.QtCore import Qt, QPointF
from ui_test import Ui_MainWindow
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.chart = QChart()
self.chart.setTitle("QChart")
self.axisX = QValueAxis()
self.axisX.setRange(0, 5)
self.axisX.setLabelFormat("%d")
self.axisX.setTickCount(6)
self.axisX.setTitleText("x")
self.axisY = QValueAxis()
self.axisY.setRange(0, 5)
self.axisY.setLabelFormat("%d")
self.axisY.setTickCount(6)
self.axisY.setTitleText("y")
self.chart.addAxis(self.axisX, Qt.AlignBottom)
self.chart.addAxis(self.axisY, Qt.AlignLeft)
chartView = QChartView(self.chart)
self.setCentralWidget(chartView)
x = [0, 1, 2, 3, 4, 5]
y = [0, 1, 2, 3, 4, 5]
self.seriesL = QLineSeries()
self.seriesL.setName("直线")
self.chart.addSeries(self.seriesL)
self.chart.setAxisX(self.axisX, self.seriesL)
self.chart.setAxisY(self.axisY, self.seriesL)
for i in range(6):
point = QPointF(x[i], y[i])
self.seriesL.append(point)
if __name__ == "__main__":
app = QApplication(sys.argv)
mainwindow = MainWindow()
mainwindow.show()
sys.exit(app.exec())