Browse Source

Interface graphique

master
BARRAUX Arthur 2 years ago
parent
commit
6a03861350
  1. 9
      lecture_csv.py
  2. 76
      main.py

9
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)"""
day = datetime.datetime.strptime(date, "%Y-%m-%d") try:
num_day = day.strftime('%j') day = datetime.datetime.strptime(date, "%Y-%m-%d")
return num_day num_day = day.strftime('%j')
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

76
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 CustomLayout(BoxLayout): class Main_frame(tk.Frame):
"""Créer la Frame principal"""
def __init__(self, **kwargs): def __init__(self, root):
super(CustomLayout, self).__init__(**kwargs) super().__init__(root)
with self.canvas.after: self._build()
pass self.pack()
self.textinput = TextInput(text='Hello world', multiline=False)
self.add_widget(self.textinput)
self.textinput.bind(on_text_validate=self.on_enter)
def on_enter(self,instance, value):
print('User pressed enter in', instance)
def _build(self):
text_voisin = tk.Label(self, text='Entrez le nombre de voisins: ')
class MainApp(App): text_voisin.grid(column=2, row=0)
self.nombre_de_voisin = tk.Entry(self, width=20, textvariable=tk.IntVar())
def build(self): self.nombre_de_voisin.grid(column=3, row=0)
root = CustomLayout()
return root 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)
self.date.grid(column=1, row=1)
text_temp_moy = tk.Label(self, text='Entrez la température moyenne : ')
self.temp_moy = tk.Entry(self, width=20, textvariable=tk.DoubleVar())
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