Les GUIS permettent aux utilisateurs d'interagir avec l'ordinateur et constituent une partie importante du codage. Ce tutoriel apprendra à utiliser Tkinter pour créer une interface graphique, en particulier un convertisseur de devises.
Installez Tkinter comme suit:
pip install tk
Étape 1: Création de la fenêtre
La première chose que nous devons faire est de créer la fenêtre à l'aide de la classe tk (). Cependant, nous commençons la fenêtre et continuons à utiliser la méthode mainloop (). Veuillez noter que la fenêtre que vous avez créée ne sera pas visible sans la méthode MainLoop ()! N'oubliez pas que la méthode mainloop () doit être placée à la fin du code; Sinon, le reste ne fonctionnera pas. La fenêtre.mainloop () et le tk () ensemble créeront une fenêtre vide et vide. Cette fenêtre est notre base.
Importer tkinter comme tk
# Créez la fenêtre
fenêtre = tk.Tk ()
#Boucle principale
fenêtre.boucle principale()
Étape 2: Donnez un titre à Window
Ensuite, donnons à cette fenêtre vide un titre en utilisant la méthode Title (). La méthode title () prend un seul argument - le titre de la fenêtre.
importer tkinter comme tk
fenêtre = tk.Tk ()
# Donnez-lui un titre
En-tête = fenêtre.Titre ("Convertisseur de devises")
fenêtre.boucle principale()
Étape 3: Créez une toile
Le widget Canvas est utilisé pour ajouter des conceptions. Nous définissons maintenant le widget Canvas, qui peut prendre 13 arguments au maximum. Cependant, les arguments les plus importants sont la fenêtre avec laquelle nous voulons travailler et la hauteur et la largeur de la toile. Dans Tkinter, la plupart des choses sont emballées, donc la toile est emballée à l'aide de la méthode Pack () pour fonctionner.
importer tkinter comme tk
fenêtre = tk.Tk ()
En-tête = fenêtre.Titre ("Convertisseur de devises")
toile = tk.Toile (fenêtre, largeur = 550, hauteur = 330)
toile.paquet()
fenêtre.boucle principale()
Étape 4: Ajout d'étiquettes
Les étiquettes ne sont essentiellement que des morceaux de textes que nous ajoutons à la fenêtre. Dans mon cas, j'ajouterai 3 étiquettes - une étiquette est le titre, et les deux autres sont des instructions. Le widget d'étiquette prend 2 arguments ici - la fenêtre pour placer le texte et le texte pour y écrire. Vous pouvez le personnaliser davantage en utilisant config () pour passer la police et la taille du texte que vous venez d'écrire.
Nous créons en outre un objet de fenêtre Canvas en utilisant Create_Window (). Create_window () prend au plus 6 arguments - l'ancre, la hauteur, l'état, les balises, la largeur et la fenêtre (le widget utilisé pour faire la toile). Nous n'utiliserons que l'ancre et la fenêtre pour create_windows (). Donc, dans mon cas, pour la deuxième étiquette - Label_Search_Bar - je veux qu'il soit positionné à x = 150, y = 120, et la fenêtre que j'utiliserai est l'étiquette que nous avons créée (toile.create_window (150, 120, window = label_search_bar)).
importer tkinter comme tk
fenêtre = tk.Tk ()
En-tête = fenêtre.Titre ("Convertisseur de devises")
toile = tk.Toile (fenêtre, largeur = 550, hauteur = 330)
toile.paquet()
étiquette = tk.Étiquette (fenêtre, text = "Convertisseur de devises de Kalyani")
étiqueter.config (font = ('Helvetica', 14))
toile.create_window (270, 75, window = label)
label_search_bar = tk.Étiquette (fenêtre, text = "de (ex: 500 USD):")
étiqueter.config (font = ('Helvetica', 14))
toile.create_window (150, 120, window = label_search_bar)
label_convert_currency = tk.Étiquette (fenêtre, text = "à (ex: cad):")
étiqueter.config (font = ('Helvetica', 14))
toile.create_window (270, 120, window = label_convert_currency)
fenêtre.boucle principale()
Étape 5: Ajout d'une barre d'entrée
Une barre d'entrée est comme une barre de recherche; C'est une petite boîte où vous pouvez saisir des données ou des informations. Nous utilisons le widget d'entrée pour créer la barre d'entrée. Le widget d'entrée prend au plus 18 arguments. Nous n'utiliserons que l'un d'eux - la fenêtre parent. Nous le plaçons ensuite, comme d'habitude, en utilisant du toile.create_window ().
importer tkinter comme tk
fenêtre = tk.Tk ()
En-tête = fenêtre.Titre ("Convertisseur de devises")
toile = tk.Toile (fenêtre, largeur = 550, hauteur = 330)
toile.paquet()
étiquette = tk.Étiquette (fenêtre, text = "Convertisseur de devises de Kalyani")
étiqueter.config (font = ('Helvetica', 14))
toile.create_window (270, 75, window = label)
label_search_bar = tk.Étiquette (fenêtre, text = "de (ex: 500 USD):")
étiqueter.config (font = ('Helvetica', 14))
toile.create_window (150, 120, window = label_search_bar)
label_convert_currency = tk.Étiquette (fenêtre, text = "à (ex: cad):")
étiqueter.config (font = ('Helvetica', 14))
toile.create_window (270, 120, window = label_convert_currency)
search_bar = tk.Entrée (fenêtre)
toile.create_window (150, 150, hauteur = 30, largeur = 100, window = search_bar)
convert_currency = tk.Entrée (fenêtre)
toile.create_window (270, 150, hauteur = 30, largeur = 100, fenêtre = convert_currency)
fenêtre.boucle principale()
Étape 6: Ajout d'un bouton
Afin de créer un bouton, nous avons besoin du widget de bouton. Ce widget prend de nombreux arguments, parmi lesquels se trouvent le texte (le texte à afficher sur le bouton), la largeur, la hauteur, le BG (la couleur d'arrière-plan du bouton), le FG (la couleur de premier plan du bouton ), la police et la commande. Ici, la partie la plus importante est la commande! La commande définira une fonction qui sera activée lorsque le bouton sera cliqué. Dans mon cas, j'ai appelé ma fonction CurrencyConverter. Pour commencer, je mettrai «passer» dans ma fonction CurrencyConverter. (Nous, bien sûr, localisons le bouton à l'aide de Create_window).
importer tkinter comme tk
Def CurrencyConverter ():
passer
fenêtre = tk.Tk ()
En-tête = fenêtre.Titre ("Convertisseur de devises")
toile = tk.Toile (fenêtre, largeur = 550, hauteur = 330)
toile.paquet()
étiquette = tk.Étiquette (fenêtre, text = "Convertisseur de devises de Kalyani")
étiqueter.config (font = ('Helvetica', 14))
toile.create_window (270, 75, window = label)
label_search_bar = tk.Étiquette (fenêtre, text = "de (ex: 500 USD):")
étiqueter.config (font = ('Helvetica', 14))
toile.create_window (150, 120, window = label_search_bar)
label_convert_currency = tk.Étiquette (fenêtre, text = "à (ex: cad):")
étiqueter.config (font = ('Helvetica', 14))
toile.create_window (270, 120, window = label_convert_currency)
search_bar = tk.Entrée (fenêtre)
toile.create_window (150, 150, hauteur = 30, largeur = 100, window = search_bar)
convert_currency = tk.Entrée (fenêtre)
toile.create_window (270, 150, hauteur = 30, largeur = 100, fenêtre = convert_currency)
bouton = tk.Bouton(
fenêtre,
text = "convertir la monnaie",
largeur = 25,
hauteur = 3,
bg = "blanc",
fg = "noir",
Font = ('Helvetica', 9, 'Bold'),
Command = CurrencyConverter
)
toile.create_window (275, 200, hauteur = 40, largeur = 150, fenêtre = bouton)
fenêtre.boucle principale()
Étape 7: Écriture de la fonction de commande
Ici, la fonction de commande indiquera au programme quoi faire lorsque l'utilisateur clique sur le bouton. Dans mon cas, j'aimerais que ça:
- Obtenez les valeurs d'entrée en utilisant la méthode get ().
- Vérifiez les valeurs d'entrée. Je veux un nombre et une devise dans la première barre d'entrée, et dans la seconde, je veux une monnaie.
- Convertissez les valeurs de devise à l'aide du module CurrencyConverter dans Python.
- Effacer la valeur
importer tkinter comme tk
Def CurrencyConverter ():
Tout d'abord, nous allons chercher ce que l'utilisateur a écrit dans les barres d'entrée en utilisant la méthode get () et la placer dans initial_currency.
initial_currency = search_bar.obtenir()
Ici, nous nous attendons à deux valeurs (ex: 500 USD), nous l'avons donc divisé pour le transformer en tableau.
array = initial_currency.diviser(" ")
Nous disons alors que si la longueur de ce tableau n'est pas 2, nous voulons qu'il lance une erreur sur l'écran de la fenêtre. Dans mon cas, j'utiliserai le widget étiquette () pour créer le texte à afficher. C'est-à-dire que si la durée de mon tableau n'est pas 2, écrivez "Veuillez saisir un montant et un type de devise (Ex: 500 USD)" à l'écran. Placez-le à l'aide de toile.create_windows ().
Si Len (Array) != 2:
print_out = étiquette (fenêtre, text = "Veuillez saisir un montant et un type de devise (Ex: 500 USD)")
toile.create_window (250, 310, window = print_out)
Nous voulons alors récupérer les valeurs qui ont été entrées. Le montant est la première valeur du tableau, et le type de devise est la deuxième valeur du tableau.
montant = int (array [0])
devise = str (array [1]).supérieur()
Ensuite, nous avons besoin du type de devise dans lequel le montant est converti en (Ex: 500 USD à CAD). J'ai défini une variable appelée TO_CURRENCY pour obtenir l'entrée de l'utilisateur dans la deuxième barre d'entrée. Encore une fois, nous utilisons la méthode get () pour récupérer la valeur.
to_currency = convert_currency.obtenir()
Maintenant, nous devons altérer ce que nous venons d'avoir. L'utilisateur a saisi des trucs, et nous voulons juste la première valeur de ce qui a été saisi, donc nous avons tout divisé et choisis la première valeur en utilisant [0]. (Je tourne également tout en majuscules pour éviter les problèmes).
array_to_currency = to_currency.diviser(" ")
to_currency = str (array_to_currency [0])
to_currency = to_currency.supérieur()
Maintenant, nous utilisons un module de Python appelé Currency Converter (PIP Install CurrencyConverter). Nous convertissons la devise et obtenons un montant (ici, j'appelle cette variable Montant_Converted).
à partir de Currency_Converter Import CurrencyConverter
c = CurrencyConverter ()
quantité_converti = c.convertir (montant, devise, à_currency)
Ensuite, nous devons imprimer cela sur la fenêtre. Comme nous le savons, nous imprimons du texte à l'aide du widget d'étiquette. Puisque le montant_converti (la monnaie convertie) est un flotteur, nous disons:
text_to_input = str (montant_converti) + "" + à_currency
print_out_answer = label (fenêtre, text = text_to_input)
toile.create_window (450, 150, window = print_out_answer)
L'ensemble du code ressemblerait à ceci:
de Tkinter Import *
Def CurrencyConverter ():
# Obtenez l'entrée dans la barre de recherche
initial_currency = search_bar.obtenir()
# sépare le
array = initial_currency.diviser(" ")
Si Len (Array) != 2:
print_out = étiquette (fenêtre, text = "Veuillez saisir un montant et un type de devise (Ex: 500 USD)")
toile.create_window (250, 310, window = print_out)
# Obtenez le montant "de" et le montant en dollars
montant = int (array [0])
devise = str (array [1]).supérieur()
# Obtenez la contribution dans la monnaie converti en
to_currency = convert_currency.obtenir()
array_to_currency = to_currency.diviser(" ")
to_currency = str (array_to_currency [0])
to_currency = to_currency.supérieur()
# Convertissez-le
à partir de Currency_Converter Import CurrencyConverter
c = CurrencyConverter ()
quantité_converti = c.convertir (montant, devise, à_currency)
# Imprimez la réponse
text_to_input = str (montant_converti) + "" + à_currency
print_out_answer = label (fenêtre, text = text_to_input)
toile.create_window (450, 150, window = print_out_answer)
# Créez la fenêtre
fenêtre = tk ()
# Créez une toile et emballez-la
toile = toile (fenêtre, largeur = 550, hauteur = 330, relief = «surélevé»)
toile.paquet()
# Donnez-lui un titre
En-tête = fenêtre.Titre ("Kalyani's Currency Converter")
# Nom du navigateur
Label = Label (Window, Text = "Kalyani's Currency Converter")
étiqueter.config (font = ('Helvetica', 14))
toile.create_window (270, 75, window = label)
# Créer une barre de recherche
search_bar = entrée (fenêtre, Justify = Center)
toile.create_window (150, 150, hauteur = 30, largeur = 100, window = search_bar)
# Étiquetez la barre de recherche
label_search_bar = label (Window, text = "From (ex: 500 USD):")
étiqueter.config (font = ('Helvetica', 14))
toile.create_window (150, 120, window = label_search_bar)
# Convertir la monnaie
convert_currency = entrée (fenêtre, justify = Center)
toile.create_window (270, 150, hauteur = 30, largeur = 100, fenêtre = convert_currency)
# étiqueter la devise à
label_convert_currency = label (window, text = "to (ex: cad):")
étiqueter.config (font = ('Helvetica', 14))
toile.create_window (270, 120, window = label_convert_currency)
# réintégrer un bouton
Button = bouton (
fenêtre,
text = "convertir la monnaie",
largeur = 25,
hauteur = 3,
bg = "blanc",
fg = "noir",
Font = ('Helvetica', 9, 'Bold'),
Command = CurrencyConverter
)
# placez le bouton
toile.create_window (275, 200, hauteur = 40, largeur = 150, fenêtre = bouton)
#Boucle principale
fenêtre.boucle principale()
Bien que le code soit un peu plus long que prévu, c'est en fait assez simple. Il vous suffit de vous souvenir de quelques choses:
- Vous écrivez des textes avec le widget d'étiquette
- Vous créez des boutons avec le widget de bouton
- Vous créez des barres d'entrée avec le widget d'entrée
- Vous les placez à la bonne place à l'aide du widget Canvas et Create_window ()
Codage heureux!