Qt4 et Matplotlib - Exemple complet

Nous travaillons ici avec PyQt4, voir Les bases de la programmation des interfaces graphiques avec Qt4 et PyQt4.

Cet exemple présente l’intégration d’un graphique Matplotlib dans une interface Qt.

import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *

from pylab import *
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas

class Fenetre(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        self.setWindowTitle("Ma fenêtre")
        self.layout = QVBoxLayout()

        self.fig = Figure()
        self.axes = self.fig.add_subplot(111)
 
        self.x = linspace(-pi, pi, 30)
        self.y = cos(self.x)
        self.line, = self.axes.plot(self.x, self.y)

        self.canvas = FigureCanvas(self.fig)
        self.layout.addWidget(self.canvas)  # the matplotlib canvas

        self.bouton_cos = QPushButton("Cosinus")
        self.bouton_cos.clicked.connect(self.appui_cosinus)
        self.layout.addWidget(self.bouton_cos)

        self.bouton_sin = QPushButton("Sinus")
        self.bouton_sin.clicked.connect(self.appui_sinus)
        self.layout.addWidget(self.bouton_sin)

        self.setLayout(self.layout)
        self.show()

    def appui_cosinus(self):
        self.y = cos(self.x)
        self.line.set_ydata(self.y )
        self.canvas.draw()

    def appui_sinus(self):
        self.y = sin(self.x)
        self.line.set_ydata(self.y)
        self.canvas.draw()

app = QApplication.instance() 
if not app:
    app = QApplication(sys.argv)
fen = Fenetre()

::...

免责声明:
当前网页内容, 由 大妈 ZoomQuiet 使用工具: ScrapBook :: Firefox Extension 人工从互联网中收集并分享;
内容版权归原作者所有;
本人对内容的有效性/合法性不承担任何强制性责任.
若有不妥, 欢迎评注提醒:

或是邮件反馈可也:
askdama[AT]googlegroups.com



自怼圈/年番新

DU21.4
关于 ~ DebugUself with DAMA ;-)


关注公众号, 持续获得相关各种嗯哼:
zoomquiet


粤ICP备18025058号-1
公安备案号: 44049002000656 ...::