Browse Source

Interface graphique

master
BARRAUX Arthur 2 years ago
parent
commit
6a03861350
  1. 5
      lecture_csv.py
  2. 82
      main.py

5
lecture_csv.py

@ -2,9 +2,12 @@ import datetime
def numeroJour(date): def numeroJour(date):
"""renvoie un entier correspondant au numéro du jour correspondant (entre 1 et 365)""" """renvoie un entier correspondant au numéro du jour correspondant (entre 1 et 365)"""
try:
day = datetime.datetime.strptime(date, "%Y-%m-%d") day = datetime.datetime.strptime(date, "%Y-%m-%d")
num_day = day.strftime('%j') num_day = day.strftime('%j')
return num_day return int(num_day)
except(ValueError):
return None
def lecture(name): def lecture(name):
"""lit le fichier csv dont le nom est passé en paramètre, en renvoie trois tableau contenant """lit le fichier csv dont le nom est passé en paramètre, en renvoie trois tableau contenant

82
main.py

@ -1,30 +1,56 @@
from kivy.app import App import tkinter as tk
from kivy.graphics import Ellipse, Line from tkinter import messagebox
from kivy.uix.boxlayout import BoxLayout import lecture_csv
from kivy.uix.textinput import TextInput
class Main_frame(tk.Frame):
class CustomLayout(BoxLayout): """Créer la Frame principal"""
def __init__(self, root):
def __init__(self, **kwargs): super().__init__(root)
super(CustomLayout, self).__init__(**kwargs) self._build()
with self.canvas.after: self.pack()
pass
self.textinput = TextInput(text='Hello world', multiline=False)
self.add_widget(self.textinput) def _build(self):
self.textinput.bind(on_text_validate=self.on_enter) text_voisin = tk.Label(self, text='Entrez le nombre de voisins: ')
text_voisin.grid(column=2, row=0)
def on_enter(self,instance, value): self.nombre_de_voisin = tk.Entry(self, width=20, textvariable=tk.IntVar())
print('User pressed enter in', instance) self.nombre_de_voisin.grid(column=3, row=0)
text_date = tk.Label(self, text='Entrez la date : ')
self.date = tk.Entry(self, width=20, textvariable=tk.StringVar())
text_date.grid(column=0, row=1)
class MainApp(App): self.date.grid(column=1, row=1)
def build(self): text_temp_moy = tk.Label(self, text='Entrez la température moyenne : ')
root = CustomLayout() self.temp_moy = tk.Entry(self, width=20, textvariable=tk.DoubleVar())
return root text_temp_moy.grid(column=2, row=1)
self.temp_moy.grid(column=3, row=1)
text_temp_ref = tk.Label(self, text='Entrez la température de référence : ')
self.temp_ref = tk.Entry(self, width=20, textvariable=tk.DoubleVar())
text_temp_ref.grid(column=4, row=1)
self.temp_ref.grid(column=5, row=1)
validate_button = tk.Button(self, text='Lancer la recherche', command=self.validate)
validate_button.grid(column=3, columnspan=2, row=2)
def validate(self):
value = [self.nombre_de_voisin.get(), self.date.get(), self.temp_moy.get(), self.temp_ref.get()]
try:
value[0] = int(value[0])
value[2] = float(value[2])
value[3] = float(value[3])
except(ValueError):
messagebox.showerror('Erreur', 'Veuillez saisir des valeurs correctes !')
if value[0] != 0 and lecture_csv.numeroJour(value[1]) != None:
value[1] = lecture_csv(value[1])
print(value[1])
else:
messagebox.showerror('Erreur', 'Date ou nombre de voisin nuls')
if __name__ == '__main__': if __name__ == '__main__':
MainApp().run() app = tk.Tk()
Main_frame(app)
app.mainloop()
Loading…
Cancel
Save