Recherche de site Web

Exemples de Tkinter en Python


Python est un langage de programmation polyvalent qui peut être utilisé pour mettre en œuvre différents types d'applications. Il dispose de nombreux types de modules pour créer des applications basées sur l'interface utilisateur graphique (GUI). Python tkinter en est un. Toute application de bureau peut être facilement mise en œuvre en utilisant le module tkinter. Il est préférable d'avoir des connaissances de base en programmation Python pour apprendre les utilisations du module Python tkinter. Différentes utilisations du module Python tkinter pour créer des applications GUI sont présentées dans ce tutoriel.

Installez le module Tkinter

Le module tkinter n'est pas installé par défaut sur Python. Vous devez donc exécuter la commande suivante pour installer le module tkinter dans la version Python 3+ :

sudo apt install python3-tk

Différents widgets Tkinter

Le module tkinter contient divers widgets pour diverses fins.

Nom du widgetBut
ÉtiquetteIl est utilisé pour afficher le message d'aide pour l'utilisateur.
BoutonIl est utilisé pour ajouter différents boutons dans l'application.
CadreCela fonctionne comme un conteneur de widgets qui contient différents types de widgets pour concevoir un formulaire organisé.
EntréeIl est utilisé pour prendre un texte sur une seule ligne de l'utilisateur.
Case à cocherIl est utilisé pour ajouter des boutons de cases à cocher permettant de prendre plusieurs entrées de l'utilisateur à partir de plusieurs options.
Bouton radioIl est utilisé pour ajouter des boutons radio afin de prendre une seule entrée de l'utilisateur parmi plusieurs options.
Bouton de la comboboxIl est utilisé pour ajouter une liste déroulante afin de prendre une seule entrée de l'utilisateur parmi plusieurs options.
ListBoxIl est utilisé pour ajouter une liste déroulante afin de prendre plusieurs entrées de l'utilisateur à partir de plusieurs options.
TexteIl est utilisé pour prendre un texte multi-lignes de l'utilisateur.
MessageIl est utilisé pour afficher la fenêtre de message pour l'utilisateur.
Barre de défilementIl est utilisé pour ajouter une barre de défilement dans la fenêtre afin de faire défiler la fenêtre vers le haut et vers le bas.
Bouton de menuIl est utilisé pour afficher le menu à l'utilisateur.
MenuIl est utilisé pour afficher les éléments du menu à l'utilisateur.
PanedWindowIl fonctionne comme un conteneur de widget qui contient les panneaux horizontal et vertical.
OngletsIl est utilisé pour ajouter une fenêtre d'onglet dans l'application.

Différentes exemples de Tkinter

Les utilisations de certains widgets tkinter courants sont montrées dans les exemples suivants.

Exemple 1 : Créer une application GUI simple

Créez un fichier Python avec le contenu suivant qui affiche une boîte de dialogue au centre de l'écran avec un titre et une hauteur et largeur particulières :

#Import necessary Module
from tkinter import *

#Create object for the window
tkobj = Tk()

#Set the title of the window
tkobj.title("Learn tkinter module")

#Set the height and width of the window
tkobj.geometry('300x150')

#Set the display position of the window centrally
tkobj.eval('tk::PlaceWindow . center')

#Run the Tkinter
tkobj.mainloop()

Sortie :

La sortie suivante apparaît après l'exécution du script. Une boîte de dialogue avec le titre « Apprendre le module tkinter » est affichée :

Exemple 2 : Utilisation de l'étiquette et du bouton

Créez un fichier Python avec le script suivant qui affiche une fenêtre avec une étiquette et une boîte de dialogue :

#Import necessary Module
from tkinter import *

#Create an object for the window
tkobj = Tk()

#Set the title of the window
tkobj.title("Learn tkinter module")

#Set the height and width of the window
tkobj.geometry('400x150')

#Define label object
lbl = Label(tkobj, text="It is a simple window")
#Add label to the window
lbl.pack(ipadx=30, ipady=20)

#Define button object
btn = Button(tkobj, text="Click me")
#Add button to the window with the position
btn.pack(ipadx=30, ipady=10)

#Set the display position of the window centrally
tkobj.eval('tk::PlaceWindow . center')

#Run the Tkinter
tkobj.mainloop()

Sortie :

Une fenêtre avec une étiquette et un bouton apparaît au centre de l'écran après l'exécution du script.

Exemple 3 : Définir la couleur de police et la couleur d'arrière-plan

Créez un fichier Python avec le script suivant qui affiche une fenêtre avec une étiquette et un bouton coloré. Ici, l'attribut de fond est utilisé pour définir la couleur de fond du bouton et l'attribut de premier plan est utilisé pour définir la couleur de la police du bouton :

#Import necessary Module
from tkinter import *

#Create an object for the window
tkobj = Tk()

#Set the title of the window
tkobj.title("Learn tkinter module")

#Set the height and width of the window
tkobj.geometry('400x150')

#Define label object
lbl = Label(tkobj, text="Set background and foreground color")
#Add label to the window
lbl.pack(ipadx=30, ipady=20)

#Define button object with background and foreground color
btn = Button(tkobj, text="Click me", background="blue", foreground="red")
#Add button to the window with the position
btn.pack(ipadx=30, ipady=8)

#Set the display position of the window centrally
tkobj.eval('tk::PlaceWindow . center')

#Run the Tkinter
tkobj.mainloop()

Sortie :

La fenêtre suivante apparaît après l'exécution du script :

Exemple 4 : Utilisation de la structure

Dans le script Python suivant, une étiquette et deux boutons sont affichés dans un widget cadre. Créez un fichier Python avec le script pour vérifier la sortie :

#Import necessary Module
from tkinter import *

#Create an object for the window
tkobj = Tk()

#Set the title of the window
tkobj.title("tkinter Module")

#Set the height and width of the window
tkobj.geometry('250x100')

#Define frame objects
frm = Frame(tkobj)
frm.pack()
lframe = Frame(tkobj)
lframe.pack(side=LEFT)
rframe = Frame(tkobj)
rframe.pack(side=RIGHT)

#Define label inside the frame
lbl = Label(frm, text="Use of Frame", fg="blue")
lbl.pack()

#Define buttons inside the frame
btn1 = Button(lframe, text="", fg="black", bg="white")
btn2.pack(side=RIGHT)

#Set the display position of the window centrally
tkobj.eval('tk::PlaceWindow . center')

#Run the Tkinter
tkobj.mainloop()

Sortie :

La sortie suivante apparaît après l'exécution du script :

Exemple 5 : Gérer l'événement du bouton

L'utilisation de la boîte de message est montrée dans le script suivant. La boîte de message s'affiche lorsque un bouton est cliqué :

#Import necessary Modules
from tkinter import *
from tkinter import messagebox

#Create an object for the window
tkobj = Tk()

#Set the title of the window
tkobj.title("Learn tkinter module")

#Set the height and width of the window
tkobj.geometry('400x150')

#Define a function to display a message box
def display():

  messagebox.showinfo("Information","Button is clicked.") #Create label text with font color, style, and position Label(tkobj, text="Desktop application using tkinter.", fg="green").pack(pady=25) #Create a button with a button handler Button(tkobj, text="Show Message", command=display).pack() #Set the display position of the window centrally tkobj.eval('tk::PlaceWindow . center') #Run the Tkinter tkobj.mainloop()

Sortie :

La fenêtre suivante apparaît après l'exécution du script :

La boîte de message suivante apparaît après avoir appuyé sur le bouton :

Exemple 6 : Prenez une entrée de l'utilisateur

Plusieurs widgets sont disponibles dans le module tkinter pour prendre une entrée de l'utilisateur. Les utilisations des widgets les plus courants sont montrées dans le script suivant. Créez un fichier Python avec le code suivant pour vérifier la sortie :

#Import necessary Modules
from tkinter import *
from tkinter.ttk import Combobox
from tkinter import ttk
import tkinter as tk
from tkinter import messagebox

#Create tkinter object
tkobj = Tk()

#Set the title of the window
tkobj.title("User Information Form")

#Set the height and width of the window
tkobj.geometry('550x320')

#Define a function to display the form values
def display_values():

   #Read single-line text    name = "Name : " + name_val.get() + "\n"    #Read the selected radio button value    if gender.get() == 1:

       g = "Male"    else:

       g = "Female"    g = "Gender : " + g + "\n"    #Read the selected checkbox values    game = ""    if g1.get() == 1:

       game = "Cricket"    if g2.get() == 1:

       if game != "":

           game += ", " + "Football"        else:

           game = "Football"    if g3.get() == 1:

       if game != "":

           game += ", " + "Basketball"        else:

           game = "Basketball"    game = "Game : " + game + "\n"    #Read the combobox values    country = "Country : " + countryVal.get() + "\n"    #Read the multi-line text    address = "Address : " + addr.get("1.0", "end") + "\n"    #Merge all values taken by the fields    form_values = name + g + game + country + address    #Display the values in the message box    messagebox.showinfo("User Information Details", form_values) #Create a label and the name field Label(tkobj, text="Name : ").place(x=100, y=20) name_val = StringVar() ttk.Entry(tkobj, textvariable=name_val).pack(padx=220, pady=20) #Create a label and the radio button Label(tkobj, text="Gender : ").place(x=100, y=60) gender = IntVar() gender.set(1) Radiobutton(tkobj, text="Male", variable=gender, value=1).place(x=210, y=60) Radiobutton(tkobj, text="Female", variable=gender, value=2).place(x=290, y=60) #Create a label and checkbox button Label(tkobj, text="Favorite game : ").place(x=100, y=100) g1 = IntVar() g2 = IntVar() g3 = IntVar() Checkbutton(tkobj, text="Cricket", variable=g1).place(x=210, y=100) Checkbutton(tkobj, text="Football", variable=g2).place(x=290, y=100) Checkbutton(tkobj, text="Basketball", variable=g3).place(x=380, y=100) #Define tuple values data = ("Bangladesh", "Japan", "USA") #Create label and combobox Label(tkobj, text="Country : ").place(x=100, y=140) countryVal = StringVar() Combobox(tkobj, values=data, textvariable=countryVal).place(x=220, y=140) #Create label and text field Label(tkobj, text="Address : ").place(x=100, y=180) addr = (tk.Text(tkobj, height=3, width=20)) addr.place(x=220, y=180) #Create a button with a button handler Button(tkobj, text="Submit", command=display_values).place(x=250, y=250) #Run the Tkinter tkobj.mainloop()

Sortie :

La fenêtre suivante apparaît après l'exécution du script :

Remplissez les champs du formulaire et appuyez sur le bouton « Soumettre ».

La boîte de message suivante avec les valeurs soumises apparaîtra :

Conclusion

Les méthodes d'utilisation du module tkinter de Python pour créer des applications GUI sont présentées dans ce tutoriel à l'aide de plusieurs exemples.