目录

一、导入模块

二、创建matplotlib窗口类

三、qt_designer设计窗口

四、逻辑代码

五、结果展示


一、导入模块

import matplotlibmatplotlib.use("Qt5Agg")
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg
from matplotlib.figure import Figure
from matplotlib import pyplotpyplot.rcParams['font.sans-serif'] = ['SimHei']
pyplot.rcParams['axes.unicode_minus'] = False

二、创建matplotlib窗口类

# 重写一个matplotlib图像绘制类
class MyFigure(FigureCanvasQTAgg):def __init__(self,width=5,height=4,dpi = 100):# 1、创建一个绘制窗口Figure对象self.fig = Figure(figsize=(width,height),dpi=dpi)# 2、在父类中激活Figure窗口,同时继承父类属性super(MyFigure, self).__init__(self.fig)

三、qt_designer设计窗口

转换为py文件

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'TDA_ShiftFlip.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(520, 320)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.groupBox = QtWidgets.QGroupBox(self.centralwidget)self.groupBox.setGeometry(QtCore.QRect(30, 10, 431, 251))self.groupBox.setObjectName("groupBox")MainWindow.setCentralWidget(self.centralwidget)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "TDA_ShiftFlip"))self.groupBox.setTitle(_translate("MainWindow", "GroupBox"))if __name__ == "__main__":import sysapp = QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow()ui = Ui_MainWindow()ui.setupUi(MainWindow)MainWindow.show()sys.exit(app.exec_())

四、逻辑代码

1、在groupbox控件中设置一个网格布局gridlayout

self.gridlayout = QGridLayout(self.groupBox)  # 继承容器groupBox

2、实例化matplotlib类

self.F = MyFigure(width=3, height=2, dpi=100)

3、绘制图像

      t = np.arange(0.0, 5.0, 0.01)s = np.cos(2 * np.pi * t)self.F.axes.plot(t, s)self.F.fig.suptitle("cos")

4、将绘制的图像添加在gridlayout中

self.gridlayout.addWidget(self.F, 0, 0)
from TimeDomainAnalysis.TDA_ShiftFlip import Ui_MainWindow as TDASUI
from matplotlibFigure import MyFigurefrom PyQt5 import QtCore, QtWidgets
from PyQt5.Qt import QThread, pyqtSignal, QIcon
from PyQt5.QtWidgets import QMessageBox, QGraphicsScene, QGraphicsPixmapItem, QGridLayout
from PyQt5.QtWidgets import QFileDialog
from PyQt5.QtGui import QIcon, QImage, QPixmap
from PyQt5.QtCore import Qtimport sys
import cv2
import numpy as np
from matplotlib import pyplot as pltclass TDASUILogic(QtWidgets.QMainWindow, TDASUI):def __init__(self):super(TDASUILogic, self).__init__()self.setupUi(self)self.setWindowIcon(QIcon("resource/ljl.ico"))self.setWindowTitle("序列基本运算——移位")# 第六步:在GUI的groupBox中创建一个布局,用于添加MyFigure类的实例(即图形)后其他部件。self.gridlayout = QGridLayout(self.groupBox)  # 继承容器groupBoxself.plotcos()def plotcos(self):self.F = MyFigure(width=3, height=2, dpi=100)t = np.arange(0.0, 5.0, 0.01)s = np.cos(2 * np.pi * t)self.F.axes.plot(t, s)self.F.fig.suptitle("cos")self.gridlayout.addWidget(self.F, 0, 0)

五、结果展示

【pyqt5学习】——groupBox显示matplotlib图像相关推荐

  1. 【pyqt5学习】——graphicView显示matplotlib图像

    目录 一.导入模块 二.自定义一个matplotlib窗口类Figure 三.利用QT_designer绘制窗口 四.写逻辑代码 五.结果展示 一.导入模块 import matplotlibmatp ...

  2. opencv-python教程学习系列2-读取/显示/保存图像

    前言 opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍图像的读取.显示以及保存,坚持学习,共同进步. 系列教程参照OpenCV-Python中文教程: ...

  3. pyQT5 学习使用 笔记 六 pyQt5+opencv 显示海康GIGE相机动态视频流

    opencv 读取 海康GIGE相机视频流 新项目中我们需要使用opencv读取海康威视的工业相机 MV-CA060-10GM 的视频流进行处理.那么首先我们要读取到相机的视频流,总所周知 openc ...

  4. 使用Python,Matplotlib显示RGB图像

    使用Python,Matplotlib显示RGB格式的 图像 1. 效果图 2. 源码 参考 这篇博客将介绍如何使用matplotlib显示RGB图像.具体是使用matplotlib,pyplot和m ...

  5. Pycharm Matplotlib 图像不显示问题

    pycharm中显示python画的图_mingyuli的博客-CSDN博客_pycharm怎么显示图形 Pycharm Matplotlib 图像不显示问题_geanwen的博客-CSDN博客_ma ...

  6. Jupyter Lab——无法显示matplotlib绘制的图像

    1 显示"<Figure size ***x*** with * Axes>"却没有显示出图像 需要加上这样的声明: %matplotlib inline

  7. matplotlib显示opencv图像有色差

    OpenCV中的图像是以BGR的通道顺序存储的,但Matplotlib是以RGB模式显示的,所以直接在Matplotlib中显示OpenCV图像会出现问题,因此需要转换一下: import cv2 i ...

  8. 使用鼠标从Matplotlib显示的图像中取点,画框

    使用鼠标从Matplotlib显示的图像中取点,画框 #定义全局变量:PT表示鼠标从plt图中取到的点;默认情况下取左上角点和右下角点 PT=[]def on_press(event):if even ...

  9. 数字图像处理与python实现_数字图像处理学习(2)—— 图像直方图均衡与图像匹配(python实现)...

    数字图像处理学习(2)-- 直方图均衡与图像匹配 1. 直方图均衡(Histogram Equalization) 1.1 直方图均衡化概念 1.2 直方图均衡实现简单思路 1.3 直方图均衡实现代码 ...

最新文章

  1. Python3 集合set
  2. 记录一次最新版MySQL-server-5.6.20-1.el6.x86_64.rpm的安装
  3. jsp到java xml配置,JSP中web配置:web.xml
  4. docker多个容器一起打包_docker如何将容器打包成镜像
  5. 电话光端机原理及作用分析
  6. C++(4)--初识变量、数据类型
  7. 卡巴斯基称发现美国中情局CIA 开发的新恶意软件
  8. 数据结构笔记(十九)-- 二叉树性质
  9. maven 基本常识以及命令
  10. 商贸宝显示连接不到服务器,登录T1商贸宝就提示 服务器链接失败 请重新登录 这个怎么解决?...
  11. 开源OA项目:办公用品如何管理?
  12. Win10桌面美化(桌面数字时钟,悬浮侧边栏、透明任务栏、底部居中软件图标)
  13. Python画一个中国地图玩玩
  14. 【转】一生必看的成功学书(转载)
  15. 条码固定资产管理系统的作用,固定资产条码化管理
  16. 【前端】——HTML5基础知识(小白教程)
  17. “史上最贵”卡塔尔世界杯,有哪些炫酷的“黑科技”?
  18. 【打卡-蓝桥杯】Day 7
  19. C# DateTime 24小时格式
  20. 调用Nero SDK 刻录光盘(含代码)

热门文章

  1. C++ 的基础概念(3)——多态详解。
  2. 控件(View)之TextSwitcher, Gallery, ImageSwitcher, GridView, ListView, ExpandableList【转】
  3. 进行有效编辑的七种习惯
  4. 第十九节:Asp.Net Core WebApi知识总结(一)
  5. 使用CSS实现图片未加载完成时占位显示
  6. Linux——安装FTP服务器
  7. window document
  8. c# automapper 使用
  9. .net生成随机字符串
  10. 配置 --- 将本地项目部署到阿里云上