首頁/ 汽車/ 正文

149.Python——PySide6中的資料圖表顯示

使用TableView呈現資料,使用QChartView顯示圖表。

149.Python——PySide6中的資料圖表顯示

效果

實現程式碼

import sysfrom PySide6 import QtCore,QtGui,QtWidgets,QtChartsimport randomclass MainWindow(QtWidgets。QWidget): def __init__(self): super()。__init__() #建立表格模型 self。model=QtGui。QStandardItemModel() self。tableview = QtWidgets。QTableView() #隨機填充資料到模型(y=2*x+randint) for i in range(20): self。model。setItem(i,0,QtGui。QStandardItem(str(i))) self。model。setItem(i,1,QtGui。QStandardItem(str(2*i+random。randint(1,20)))) #設定表頭 self。model。setHorizontalHeaderLabels([“x”,“y”]) #設定行列自適應 self。tableview。horizontalHeader()。setSectionResizeMode(QtWidgets。QHeaderView。Stretch) self。tableview。verticalHeader()。setSectionResizeMode(QtWidgets。QHeaderView。Stretch) self。tableview。setModel(self。model) #建立圖表例項,並設定圖表資料 self。chart=QtCharts。QChart() self。chart。setAnimationOptions(QtCharts。QChart。AllAnimations) self。series = QtCharts。QLineSeries() self。series。setName(“y=2*x+b”) self。mapper = QtCharts。QVXYModelMapper(self) self。mapper。setXColumn(0) self。mapper。setYColumn(1) self。mapper。setSeries(self。series) self。mapper。setModel(self。model) self。chart。addSeries(self。series) self。chart。createDefaultAxes() self。chartview=QtCharts。QChartView(self。chart) self。chartview。setRenderHint(QtGui。QPainter。Antialiasing) self。chartview。setMinimumSize(640,480) #建立佈局 self。mainlayout=QtWidgets。QGridLayout() self。mainlayout。addWidget(self。tableview,1,0) self。mainlayout。addWidget(self。chartview,1,1) self。mainlayout。setColumnStretch(1,1) self。mainlayout。setColumnStretch(0,0) self。setLayout(self。mainlayout) if __name__ == “__main__”: app=QtWidgets。QApplication(sys。argv) mywin=MainWindow() mywin。setWindowTitle(“Model Data”) mywin。show() sys。exit(app。exec())

相關文章

頂部