def __createFigure(self): ## self.__fig=mpl.figure.Figure(figsize=(8, 5),constrained_layout=True, tight_layout=None) #单位英寸 ## self.__fig=mpl.figure.Figure(figsize=(8, 5)) #单位英寸 self.__fig=mpl.figure.Figure() figCanvas = FigureCanvas(self.__fig) #创建FigureCanvas对象,必须传递一个Figure对象 self.__fig.suptitle("suptitle:matplotlib in Qt GUI",fontsize=16, fontweight='bold') # 总的图标题 naviToolbar=NavigationToolbar(figCanvas, self) #创建NavigationToolbar工具栏 actList=naviToolbar.actions() #关联的Action列表 count=len(actList) #Action的个数 lastAction=actList[count-1] #最后一个Action labCurAxes=QLabel("当前子图") naviToolbar.insertWidget(lastAction,labCurAxes) self.__comboAxes=QComboBox(self) #子图列表,用于选择子图 self.__comboAxes.setToolTip("选择当前子图") self.__comboAxes.currentIndexChanged.connect(self.do_currentAxesChaned) naviToolbar.insertWidget(lastAction,self.__comboAxes) naviToolbar.insertAction(lastAction,self.ui.actQuit) #在最后一个Action之前插入一个Action ## naviToolbar.setToolButtonStyle(Qt.ToolButtonTextUnderIcon) #ToolButtonTextUnderIcon self.addToolBar(naviToolbar) #添加作为主窗口工具栏 splitter = QSplitter(self) splitter.setOrientation(Qt.Horizontal) splitter.addWidget(self.ui.toolBox) #左侧控制面板 splitter.addWidget(figCanvas) #右侧FigureCanvas对象 self.setCentralWidget(splitter)