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
| import tkinter.ttk
import tkinter
import tkinter.messagebox
import datetime
import os
class Marche(tkinter.Tk):
def __init__(self):
tkinter.Tk.__init__(self)
nom_entite, distance_entite = importation_entite()
if len(nom_entite) == 0:
self.init()
def init(self):
# caracteristique de la fenetre principale
self.initialisation = tkinter.Toplevel()
self.initialisation.geometry("400x200")
self.initialisation.resizable(width=False, height=False)
self.initialisation.lTitre = tkinter.ttk.Label(self.initialisation, text="Aucune entit├® n'est enregistr├®e, il en faut au moins une.", font='bold')
self.initialisation.lEntite = tkinter.ttk.Label(self.initialisation, text="Quel est le nom de l'entit├® :")
self.initialisation.eEntite = tkinter.ttk.Entry(self.initialisation)
self.initialisation.lDistance = tkinter.ttk.Label(self.initialisation, text="Quelle est la distance parcourue :")
self.initialisation.sDistance_Entite = tkinter.ttk.Spinbox(self.initialisation, from_=0.0, to=50.0, increment=0.1, width=5)
self.initialisation.bValider = tkinter.ttk.Button(self.initialisation, text="Valider", command=self.valider_ajout_premiere_entite)
self.initialisation.lTitre.place(x=10, y=10)
self.initialisation.lEntite.place(x=10, y=40)
self.initialisation.eEntite.place(x=10, y=60)
self.initialisation.lDistance.place(x=10, y=100)
self.initialisation.sDistance_Entite.place(x=10, y=120)
self.initialisation.bValider.place(x=10, y=160)
def valider_ajout_premiere_entite(self):
if self.initialisation.eEntite.get() == "" or self.initialisation.sDistance_Entite.get() == "":
tkinter.messagebox.showerror("Erreur", "Une des 2 valeurs n'a pas ├®t├® correctement renseign├®es")
else:
chemin_distance = os.path.join(os.path.dirname(__file__), "distance")
# on ajoute la premiere valeur au fichier distance
with open(chemin_distance, "w") as data:
data.write(f"{entite} {self.initialisation.sDistance_Entite.get()}\n")
self.initialisation.destroy()
def importation_entite():
nom_entite = ""
distance_entite = ""
chemin_distance = os.path.join(os.path.dirname(__file__), "distance")
with open(chemin_distance, "r") as distance:
for dist in distance:
nom_entite += dist.split()[0] + " :\n"
distance_entite += dist.split()[1] +" km\n"
return nom_entite, distance_entite |
Partager