L'objectif de ce projet est la réalisation d'un convertisseur vers les bases 2, 10 et 16 à l'aide d'une interface graphique.
En python, il est possible de construire des applications ayant une interface graphique. Pour cela, il suffit d'utiliser l'un des nombreux modules existants. Dans notre cas, nous utiliserons le module Tkinter
.
Tkinter
Pour utiliser le module Tkinter
, il suffit de l'importer grâce au code suivant :
from tkinter import *
Voici le code minimal pour créer et afficher une nouvelle fenêtre.
from tkinter import *
fenetre = Tk()
#
#Le reste de votre code
#
fenetre.mainloop()
Instructions | Explications |
---|---|
fenetre = Tk() |
Créer une nouvelle fenêtre simple |
fenetre.mainloop() |
Afficher la fenêtre et attendre une action de l'utilisateur |
Le reste du code concernant la fenêtre doit se trouver avant l'instruction fenetre.mainloop()
.
Il existe de nombreuses options permettant de modifier et d'améliorer notre fenêtre. Voici quelques exemples
Instructions | Explications |
---|---|
fenetre.title("Ma fenêtre") |
Modifier le titre de la fenêtre |
fenetre.minsize(width=350, height=75) |
Modifier la taille de la fenêtre |
fenetre.configure(background='#E5E3D6') |
Modifier la couleur de l'arrière-plan |
fenetre.configure(padx=20, pady=20) |
Modifier les marges de la fenêtre |
Pour ajouter du texte à une fenêtre, il faut créer un Label
.
fenetre = Tk()
mon_texte = Label(fenetre, text="Bonjour le monde ")
mon_texte.grid(row=0, column=0)
fenetre.mainloop()
Un Label
peut prendre de nombreux paramètres comme :
fenetre
qui correspond au conteneur, ici, à la fenêtre principale.text="Bonjour le monde"
qui correspond à la valeur du texte affiché.L'instruction mon_text.grid(row=0, column=0, sticky="e")
permet de positionner le label selon une grille. Ici, notre texte sera positionné à la ligne 0 et à la colonne 0.
Le paramètre sticky='e'
permet d'aligner le texte à droite. Il peut prendre les valeurs suivantes :
Valeur | Positionnement |
---|---|
e |
Alignement à droite |
w |
Alignement à gauche |
n |
Alignement en haut |
s |
Alignement en bas |
Le fonctionnement de l'instruction
grid
sera identique pour les autres éléments de notre fenêtre.
Pour ajouter un bouton à une fenêtre, il faut créer un Button
.
fenetre = Tk()
mon_bouton = Button(fenetre, text="Valider", command=ma_fonction)
mon_bouton.grid(row=0, column=0)
fenetre.mainloop()
Un Button
peut prendre de nombreux paramètres comme :
fenetre
qui correspond au conteneur, ici, à la fenêtre principale.text="Bonjour le monde"
qui correspond à la valeur du texte du bouton.command=ma_fonction
qui correspond à un nom de fonction qui sera exécutée lors d'un appui sur le bouton.La fonction est exécutée à la suite d'un évènement provoqué par l'utilisateur. On appelle cette fonction un callback.
Pour ajouter un formulaire à une fenêtre, il faut créer un Entry
.
fenetre = Tk()
mon_formulaire = Entry(fenetre)
mon_formulaire.grid(row=1, column=1)
fenetre.mainloop()
Un Entry
peut prendre de nombreux paramètres comme :
fenetre
qui correspond au conteneur, ici, à la fenêtre principale.Il est possible de récupérer le texte du formulaire grâce à l'instruction suivante :
mon_formulaire = Entry(fenetre)
mon_formulaire.get()
Il est possible de modifier le texte du formulaire grâce à l'instruction suivante :
mon_formulaire = Entry(fenetre)
mon_formulaire.delete(0, END) #Supprime la totalité du texte
L'instruction delete
prend 2 paramètres correspondant à l'indice du début et à l'indice de fin de la chaine de caractères du formulaire.
Il est possible d'insérer du texte dans le formulaire grâce à l'instruction suivante :
mon_formulaire = Entry(fenetre)
mon_formulaire.insert(0, hexa)
L'instruction insert
prend 2 paramètres correspondant à la position d'insertion et au texte à insérer.
Pour plus de détails sur le module Tkinter
, vous pouvez lire les documentations suivantes :
Pour vous aider dans la construction de cette interface, voici les étapes à suivre.
Étape 1 - Créer un programme permettant d'afficher la fenêtre suivante :
Cette fenêtre est composée de 9 éléments :
Étape 2 - Compléter le code des fonctions associées aux boutons afin de les rendre utilisables. Le fonctionnement de cette application est simple :
Étape 3 - Améliorer votre programme et ajouter les fonctionnalités suivantes :