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
| from Tkinter import *
import tkFileDialog
from string import *
from scipy import *
#à faire : faire en sorte de pouvoir visualiser 2 graphiques en mm temps
class Interface:
def __init__(self, master):
self.initialisation(master)
def ouverture(self):
nomFichier = tkFileDialog.askopenfile(parent=root, mode ='rb', title='Choisissez un fichier')
if nomFichier != None :
f = nomFichier.read()
nomFichier.close()
tt = nomFichier.name.split("/") #récupération du nom du fichier
nb = len(tt)
fich = tt[nb-1]
bis = '_' + fich
ch1 = bis
#extraction des deux premières lignes
ct=0
c=1
while c <=2:
for i in f:
ct=ct+1
if i=="\n":
break
c = c + 1
var = f[:ct] #stockage des lignes pour une utilisation future
f=f[ct:]
#remplacement des tabulations par des espaces
f.replace("\t"," ")
#réécriture du résultat sous un nom différent
a = open(bis, 'w')
a.write(f)
a.close()
print 'channel1 = ', ch1
#tracage de la courbe
data = io.array_import.read_array(bis)
gplt.plot(data[:,0], data[:,1])
gplt.title(bis)
gplt.xtitle('Time [s]')
gplt.ytitle('Signal value [µV]')
def nouveau(self):
self.entree.delete(0.0, END)
def sauvegarde(self):
nomFichier = tkFileDialog.asksaveasfilename(parent=root, title="Sauvez le fichier sous...")
if len(nomFichier) > 0 :
data = open(nomFichier,'w')
txt = self.entree.get(0.0, END)
data.write(txt)
data.close()
def initialisation(self,master):
self.frame=Frame(master)
self.menu_bar =Menu(master)
self.file_menu=Menu(self.menu_bar)
self.file_menu.add_command(label='New', command=self.nouveau, underline=0)
self.file_menu.add_command(label='Open', command=self.ouverture, underline=0)
self.file_menu.add_command(label='Save', command=self.sauvegarde, underline=0)
self.file_menu.add_command(label="Quit", command=master.destroy,underline=0)
self.menu_bar.add_cascade(label="File",menu=self.file_menu)
master.config(menu=self.menu_bar)
self.entree = Text(master, width=100)
self.entree.pack()
self.menu_bar.add_cascade(label="Affichage")
self.menu_bar.add_cascade(label="Calcul")
root = Tk()
app=Interface(root) #création d'un objet app de la classe Interface
root.mainloop() |
Partager