Convertisseur de température (différent et commenté)

Contenu du snippet

Voici une variante de convertisseur de température celcius >> fahrenheit et fahrenheit >> celcius
Je l'ai fait de facon à utiliser le moins de composants possible.

Source / Exemple :


#! /usr/bin/env python
# -*- coding: cp1252 -*-

#importation des librairie necessaire au fonctionnement de l'application
from Tkinter import *

# définition des fonction de convertion.
def convertion1(event):
    ent2.delete(0,END)  #on efface la valeur actuelle dans 'ent2'
    ent2.insert(0,str((float(ent1.get())*1.38)+32)) #on insert la nouvelle valeur dans 'ent2'

def convertion2(event):
    ent1.delete(0,END)  #on efface la valeur actuelle dans 'ent1'
    ent1.insert(0,str((float(ent2.get())-32)/1.38)) #on insert la nouvelle valeur dans 'ent1'

# création de l'application
fen=Tk()

Label(fen,text="Température en Celsius").grid() #mise en place d'un label

ent1=Entry(fen) #crétion du premier champ de saisie
ent1.grid() #méthode de mise en forme
ent1.bind("<FocusOut>",convertion1) # appel de la fonction lorsque l'on sort du champ de saisie ou
ent1.bind("<Return>",convertion1)   # lorsque l'on appuy sur la touche <ENTER> ou <RETURN>
ent1.insert(0,0)    #insertion d'une valeur par défaut dans le champ de saisie 'ent1'. La valeur est 0

Label(fen,text='Température en Fahrenheit').grid()  #mise en place d'un autre label

ent2=Entry(fen) #crétion du 2eme champ de saisie
ent2.grid() #méthode de mise en forme
ent2.bind("<FocusOut>",convertion2) # appel de la fonction lorsque l'on sort du champ de saisie ou
ent2.bind("<Return>",convertion2)   # lorsque l'on appuy sur la touche <ENTER> ou <RETURN>
ent2.insert(0,str((float(ent1.get())*1.38)+32)) #insertion dans ent2, comme valeur par défaut
                                                #de la convertion de la valeur défaut de ent1

Button(fen,text="Fermer",command=fen.quit).grid(padx=5,pady=5)  # mise en place d'un bouton
                                                                #pour fermer l'application proprement.

fen.mainloop()  #démarrage du réceptionnaire d'évènement

fen.destroy()   #destructeur de la fenêtre

#Nota: Je n'ai pas affecté de variable aux Label et au Bouton 'Fermer', car ils ne seront pas invoqués
#plus loin dans le programme.
#De plus, je n'est pas spécifier les emplacements des différents éléments, car la méthode '.grid()' met en
#place par défaut les éléments les uns en dessous des autres. J'ai juste créé mes éléments dans l'ordre dans
#lequel je souhaite les voir mis en place.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.