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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
| from Tkinter import *
import Tkinter as tk
# On créer une fenêtre, racine de notre interface
fenetre = Tk() # créer l'objet fenêtre de la classe Tk
fenetre.title('IHM SIMULATION')#titre
fenetre.geometry("790x480")#taille de la fenetre
fenetre['bg']='white' # couleur de fond
# interface racine
titre = LabelFrame(fenetre,padx=315)
titre.grid(row=0,column=1,columnspan=7) # On affiche le label dans la fenêtre
titre['bg']='black'
Label(titre,text="Simulation test Cycliste",padx=14,pady=10,bg='white').grid()
class Informations(object):
def __init__(self):
self.duree = tk.DoubleVar()
self.vitesse = tk.DoubleVar()
self.distance = tk.DoubleVar()
self.energie = tk.DoubleVar()
self.watt = tk.DoubleVar()
def maj(self):
self.distance.set(
self.vitesse.get()/60 * (self.duree.get()))
self.energie.set(
self.watt.get() * (self.duree.get()/60))
def moyen(self):
self.duree.set(20)
self.vitesse.set(20)
self.watt.set(220)
def fort(self):
self.duree.set(20)
self.vitesse.set(45)
self.watt.set(350)
info = Informations()
#zone de texte de duree de pedalage
txtDuree = Entry(fenetre,textvariable=info.duree, width=10)
txtDuree.grid(row=2,column=3)
#zone de texte de vitesse moyenne
txtVitesse = Entry(fenetre,textvariable=info.vitesse, width=10)
txtVitesse.grid(row=3,column=3)
#zone de texte de distance parcourue
txtDistance = Entry(fenetre,textvariable=info.distance, width=10)
txtDistance .grid(row=4,column = 3)
#zone de texte energie produite
txtEnergie = Entry(fenetre,textvariable=info.energie, width=10)
txtEnergie .grid(row=5,column = 3)
#Boutton quitter
bouton_quitter = Button(fenetre,bg='white',text="Quitter", command=fenetre.quit)
bouton_quitter.grid(row=6,column=3,pady=20)
#Boutton valider
btnTest = Button(fenetre,bg='white',text="Cliquer",command=info.maj)
btnTest.grid(row=6,column=4,pady=30)
#fonction qui permet de choisir entre les 3 niveaux
def niveau():
#Creation du cadre qui comprend les widgets Radiobutton
cadre1 = Frame(fenetre, width=10, height=10,borderwidth=2,relief=GROOVE)
cadre1.grid(row=1, column=1,pady=25)#on place le cadre
cadre1['bg']='white'#le cadre est de couleur blanche
niv = IntVar() #variable qui permet de savoir quand la valeur est modifié
choix_fort = Radiobutton (cadre1,bg='white',text="Fort", variable=niv,value="0",command=info.fort)#création du boutton fort
choix_moyen = Radiobutton(cadre1,bg='white',text="Moyen", variable=niv, value="1",command=info.moyen)#moyen
choix_personnalise = Radiobutton(cadre1,bg="white",text="Personnalisée", variable=niv,value="3")#personnalisée
choix_fort.grid(sticky='W')#on centre le boutton a gauche
choix_moyen.grid(sticky='W')
choix_personnalise.grid(sticky='W')
niveau()
def texte():
#label durée de pédalage
label1= Label(fenetre,bg='white',text="Durée de pédalage")
label1.grid(row = 2, column =2,sticky='W',pady=15)
#label vitesse moyenne
label2= Label(fenetre,bg='white',text="Vitesse Moyenne")
label2.grid(row = 3, column =2,sticky='W',pady=15)
#label de distance parcourrue
label3= Label(fenetre,bg='white',text="Distance parcourrue")
label3.grid(row =4, column =2,sticky='W',pady=15)
#label de energie produite
label4= Label(fenetre,bg='white',text="Energie produite")
label4.grid(row =5, column =2,sticky='W',pady=15)
#-----------------------------------------------------------------------------------------------#
#label unité durée pédalage
label5= Label(fenetre,bg='white',text="Minutes")
label5.grid(row = 2, column =4,sticky='W',pady=15)
#label unité vitesse moyenne
label6= Label(fenetre,bg='white',text="km/h")
label6.grid(row = 3, column =4,sticky='W',pady=15)
#label unité de distance parcourrue
label7= Label(fenetre,bg='white',text="km")
label7.grid(row =4, column =4,sticky='W',pady=15)
#label unité de energie produite
label8= Label(fenetre,bg='white',text="watt/h")
label8.grid(row =5, column =4,sticky='W',pady=15)
texte()
# On démarre la boucle Tkinter qui s'interompt quand on ferme la fenêtre
fenetre.mainloop() |
Partager