pyside2集成matplotlib的步骤:
0. 在pyside2中用designer画出Graphic View控件
- matplotlib使用Qt5Agg
- 实例化matplotlib的FigureCanvas类
- 创建一个QGraphicsScene
- 把canvas放入QGraphicsScene中,注意:canvas是作为一个QWidget放到放到QGraphicsScene中的
- 把QGraphicsScene放入QGraphicsView
from PySide2.QtWidgets import QApplication, QMainWindow, QGraphicsScene, QFileDialog, QMessageBox
from PySide2.QtUiTools import QUiLoader
import numpy as np
import matplotlib
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
import matplotlib.pyplot as plt
matplotlib.use("Qt5Agg") # 声明使用QT5
class MyFigureCanvas(FigureCanvas):
'''
通过继承FigureCanvas类,使得该类既是一个PyQt5的Qwidget,又是一个matplotlib的FigureCanvas,这是连接pyqt5与matplotlib的关键
'''
def __init__(self, parent=None, width=None, height=None, xlim=None, ylim=None, dpi=100):
# 创建一个Figure
if width is not None and height is not None:
fig = plt.Figure(figsize=(width, height