marplotlib 窗口在 pyqt5 frame窗体中显示(实例化法 , 不推荐)

原创 2017年08月09日 05:00:24

参考文章:http://www.cnblogs.com/hhh5460/p/4322652.html
UI文件  Ui_MainWindow.py
# -*- coding: utf-8 -*-

# Created by: PyQt5 UI code generator 5.6
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralWidget = QtWidgets.QWidget(MainWindow)
        self.centralWidget.setObjectName("centralWidget")
        self.tabWidget = QtWidgets.QTabWidget(self.centralWidget)
        self.tabWidget.setGeometry(QtCore.QRect(30, 30, 721, 441))
        self.tabWidget.setStyleSheet("background-color: rgb(255, 255, 255);")
        self.tabWidget.setObjectName("tabWidget")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.frame = QtWidgets.QFrame(self.tab)
        self.frame.setGeometry(QtCore.QRect(90, 160, 321, 141))
        self.frame.setStyleSheet("background-color: rgb(255, 170, 0);")
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.tabWidget.addTab(self.tab, "")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.tabWidget.addTab(self.tab_2, "")
        MainWindow.setCentralWidget(self.centralWidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Tab 1"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Tab 2"))

逻辑文件
from Ui_connect import Ui_MainWindow
#pyqt类
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from numpy import arange, sin, pi
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
class  Function( Ui_MainWindow, QMainWindow):
    def __init__(self, parent=None):
        super(Function, self).__init__(parent)
        self.setupUi(self)
        self.frame=MyStaticMplCanvas(self.frame)#关键点

class MyMplCanvas(FigureCanvas):
    """这是一个窗口部件,即QWidget(当然也是FigureCanvasAgg)"""
    def __init__(self, parent=None, width=4, height=1.7, dpi=80):
        fig = Figure(figsize=(width, height), dpi=dpi)#设置画布大小
        self.axes = fig.add_subplot(111)
        # 每次plot()调用的时候,我们希望原来的坐标轴被清除(所以False)
        self.axes.hold(False)

        self.compute_initial_figure()

        #
        FigureCanvas.__init__(self, fig)
        self.setParent(parent)

        FigureCanvas.setSizePolicy(self,
                                   QSizePolicy.Expanding,
                                   QSizePolicy.Expanding)
        FigureCanvas.updateGeometry(self)

    def compute_initial_figure(self):
        pass
class MyStaticMplCanvas(MyMplCanvas):
    """静态画布:一条正弦线"""
    def compute_initial_figure(self):
        t = arange(0.0, 3.0, 0.01)
        s = sin(2*pi*t)
        self.axes.plot(t, s)


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = Function()#关键点
    MainWindow.show()
    sys.exit(app.exec_())




                

PYQT5 实现 无frame窗口的拖动和放缩

-- coding:utf-8 --”’ Created on 2016年12月14日@author: DXLCopyright (C) 2004-2019 Shandong Zhaoyuan So...
  • hidxl
  • hidxl
  • 2016年12月14日 09:05
  • 1222

在Java中为frame窗口设置背景图片

新学javaGUI界面设计,关于如何为frame窗口设置背景图片,在
  • u010485626
  • u010485626
  • 2014年07月27日 21:51
  • 6012

pyqt如何显示实时数据

我有一个处理example.csv的后台程序,现在想把当前读行数实时显示到GUI界面中去。 就是这下面 PyQt的signal-slot机制不就是干这个的吗,你要输入的输入框比如LineEdit对...
  • Goldxwang
  • Goldxwang
  • 2017年08月09日 22:23
  • 2089

PyQt5学习教程2:给窗体加上图标

上1篇教程,只是对PyQt5使用的初步演示,其框架没有具体的使用意义。本篇教程将构建1个具有实际使用价值的最简框架,相对于上一篇教程所讲解的窗体所具有的功能,我们将给窗体增加一个图标,就如同大部分程序...
  • qingwufeiyang12346
  • qingwufeiyang12346
  • 2017年10月22日 21:58
  • 142

java内部窗体internalFrame的使用方法

,运行的时候,先产生的是父窗体,里面有一个按钮 ,点击他可以产生子窗体,生成的子窗体中也有一个按钮,点击这个按钮的时候,也将产生一个窗体,但 这个窗体是属于父窗体的,运行的时候可能你点...
  • piyajee
  • piyajee
  • 2011年07月31日 21:15
  • 4974

PyQT——禁止显示窗口最大化按钮及禁止调整窗口大小

PyQT禁止窗口最大化按钮:
  • sollor525
  • sollor525
  • 2014年09月16日 13:38
  • 6287

在Windows窗体中显示OpenCV图像

在Windows窗体中显示OpenCV库读取的Mat图像,首先就是将Mat图像转换为Windows认可的BITMAPINFOHEADER数据结构,然后获取相应窗体的HWND句柄。 具体显示函数如下:...
  • wootengxjj
  • wootengxjj
  • 2016年07月01日 20:12
  • 477

java最简单的知识之创建一个简单的windows窗口,利用Frame类

作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing 首先给大家看...
  • qq_21376985
  • qq_21376985
  • 2016年08月04日 14:49
  • 778

WinForm程序启动时不显示主窗体的5种方法

文中所述WinForm程序启动时不显示主窗体的实现方法主要有以下5种,个人觉得第五种最简单,而且效果也不错,第四种方法也值得推荐。 实现代码及简短解释如下://隐藏窗体的方法1/5:不指定任何窗体为主...
  • tmeteor
  • tmeteor
  • 2009年10月12日 14:11
  • 2926

转:C#里WinForm程序启动时不显示主窗体的方法

注:转载的一篇文章,我用的是第五种方法,通过重载SetVisibleCore,实现窗体的启动就不显示,也不闪烁一下。看了两篇文章(1和2),然后把文中的代码整理了以下,文中所述WinForm程序启动时...
  • Garydeng
  • Garydeng
  • 2011年03月31日 12:24
  • 2680
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:marplotlib 窗口在 pyqt5 frame窗体中显示(实例化法 , 不推荐)
举报原因:
原因补充:

(最多只允许输入30个字)