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
| # -*- coding: utf-8 -*-
from Tkinter import *
from math import sqrt
# --- définition des fonctions : ---
def _pythagore_hypo(*args):
# calcul la longueur de l'hypoténuse pour un triangle rectangle
# le théorème : le carré de la longueur de lhypoténuse est égal
# à la somme des carrés des longueurs des deux autres côtés
return round(sqrt(sum(x**2 for x in args)),2)
def evaluer(event):
chain.configure(text = "La longueur de l'hypothénuse = " + str(_pythagore_hypo(float(entr1.get()),float(entr2.get()))),font=("Arial",9,"bold"))
#---------------------------------------------------------------------------
# GUI : Création de la fenêtre principale ("root", la racine) :
fen1 = Tk()
# Donne un titre à la fenêtre (par défaut c'est Tk) et lui affecte une icone
fen1.title("Mon programme test")
fen1.wm_attributes("-topmost", 1, "-alpha", 0.95)
fen1.update()
# pick a .gif image file you have in the working directory, pour le background
photo = PhotoImage(file="slade.gif")
#---------------------------------------------------------------------------
# Coeur du programme
#---------------------------------------------------------------------------
# Initialisation de la variable changement de ligne pour la commande .grid
lig=1
# Actions (saisies et renvois d'informations)
entr1 = Entry(fen1)
entr2 = Entry(fen1)
chain = Label(fen1)
entr1.bind("<Return>",evaluer)
entr2.bind("<Return>",evaluer)
# Affichage
Label(fen1, image=photo).grid(row=1,column=1, rowspan=20,columnspan = 20)
Label(fen1, text="").grid(row=lig,column=1)
lig += 1
ligne1 = Label(fen1, text="LE THEOREME DE PYTHAGORE",font=("Helvetica", 14,"bold")).grid(row=lig,column=1,columnspan = 2)
lig += 1
Label(fen1, text="").grid(row=lig,column=1)
lig += 1
ligne1=Label(fen1, text=" Un triangle rectangle compose de 2 cotes perpendiculaires dont la ",font=("Arial",9)).grid(row=lig,column=1,columnspan = 2)
lig += 1
Label(fen1, text="").grid(row=lig,column=1)
lig += 1
Label(fen1, text = 'Longueur du premier cote =',font=("Arial",9)).grid(row=lig,column=1)
entr1.grid(row=lig,column=2)
lig += 1
Label(fen1, text = 'Longueur du deuxieme cote =',font=("Arial",9)).grid(row=lig,column=1)
entr2.grid(row=lig,column=2)
lig += 1
Label(fen1, text="").grid(row=lig,column=1)
lig += 1
Label(fen1, text = '(Appuyez sur la touche ENTREE pour lancer ou relancer le calcul)',font=("Helvetica", 7,"italic")).grid(row=lig,column=1,columnspan = 2)
lig += 1
chain.grid(row=lig,column=1,columnspan = 2)
lig += 1
Label(fen1, text="").grid(row=lig,column=1)
lig += 1
# Pied du programme ----------------------------------------------------
Label(fen1, text="").grid(row=lig,column=1)
lig += 1
Button(fen1,text='Quitter',command=fen1.quit).grid(row=lig,column=1,columnspan = 2)
lig += 1
Label(fen1, text="").grid(row=lig,column=1)
lig += 1
fen1.mainloop() # démarrage du réceptionnaire d'événements
fen1.destroy() # destruction (fermeture) de la fenêtre |
Partager