1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
import sys, os, PyQt4
import PyQt4.QtCore
import PyQt4.QtGui
import matplotlib
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QTAgg as NavBar
from matplotlib.figure import Figure
import numpy
import sys
import glob
import os
import scipy
from scipy import optimize
import string
from PyQt4 import QtCore, QtGui
# Main window
class CFormGraphique(QtGui.QMainWindow):
def __init__(self, parent=None, Titre = None, PosGraph = None):
self.parent = parent
self.series_list_model = QtGui.QStandardItemModel()
if(PosGraph == None):
self.create_main_frame(0,0,10,10)
else:
self.create_main_frame(PosGraph[0], PosGraph[1], PosGraph[2], PosGraph[3])
self.coefInit = scipy.zeros(6)
self.coef = scipy.zeros(6)
self.Titre = Titre
def on_show(self, dataX = None, dataY = None):
self.axes.clear()
self.axes.grid(True)
has_series = False
self.axes.plot(dataX, dataY, "r-")
if(self.Titre <> None):
self.axes.set_title(self.Titre)
self.canvas.draw()
def create_main_frame(self, PosX, PosY, Width, Height):
self.main_frame = QtGui.QWidget()
plot_frame = QtGui.QWidget()
self.dpi = 80
self.fig = Figure((2.0, 2.0), dpi=self.dpi)
self.canvas = FigureCanvas(self.fig)
self.canvas.setParent(self.parent)#(self.main_frame)
self.axes = self.fig.add_subplot(111)
self.mpl_toolbar = NavBar(self.canvas, self.parent) #self.main_frame)
left_vbox = QtGui.QVBoxLayout()
left_vbox.addWidget(self.canvas)
left_vbox.addWidget(self.mpl_toolbar)
hbox = QtGui.QVBoxLayout()
hbox.addLayout(left_vbox)
self.FRAME_Status = QtGui.QFrame(self.parent)
self.FRAME_Status.setGeometry(QtCore.QRect(PosX, PosY, Width, Height))
self.FRAME_Status.setFrameShape(QtGui.QFrame.StyledPanel)
self.FRAME_Status.setFrameShadow(QtGui.QFrame.Raised)
self.FRAME_Status.setObjectName("FRAME_Status")
self.FRAME_Status.setLayout(hbox)
def add_actions(self, target, actions):
for action in actions:
if action is None:
target.addSeparator()
else:
target.addAction(action)
def create_action( self, text, slot=None, shortcut=None,
icon=None, tip=None, checkable=False,
signal="triggered()"):
action = QAction(text, self)
if icon is not None:
action.setIcon(QIcon(":/%s.png" % icon))
if shortcut is not None:
action.setShortcut(shortcut)
if tip is not None:
action.setToolTip(tip)
action.setStatusTip(tip)
if slot is not None:
self.connect(action, SIGNAL(signal), slot)
if checkable:
action.setCheckable(True)
return action |
Partager