Exemples Python Tkinter

Exemples Python Tkinter



Python est un langage de programmation polyvalent qui peut être utilisé pour implémenter différents types d'applications. Il dispose de nombreux types de modules pour créer des applications basées sur GUI (Graphical User Interface). Python tkinter en fait partie. N'importe quelle application de bureau peut être facilement implémentée à l'aide du module tkinter. Ce sera mieux si vous avez une connaissance de base en programmation Python pour apprendre les utilisations du module Python tkinter. Différentes utilisations du module Python tkinter pour créer les applications GUI sont présentées dans ce didacticiel.

Installez le module Tkinter

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







$ sudo apte installer python3-tk



Différents widgets Tkinter

Le module tkinter contient divers widgets à des fins diverses.







Nom du widget But
Étiquette Il est utilisé pour afficher le message d'aide à l'intention de l'utilisateur.
Bouton Il est utilisé pour ajouter différents boutons dans l'application.
Cadre Il fonctionne comme un conteneur de widgets contenant différents types de widgets pour concevoir un formulaire organisé.
Entrée Il est utilisé pour extraire un texte d'une seule ligne de l'utilisateur.
Bouton à cocher Il est utilisé pour ajouter des boutons de case à cocher pour prendre plusieurs entrées de l'utilisateur à partir de plusieurs options.
Bouton radio Il est utilisé pour ajouter des boutons radio pour prendre une seule entrée de l'utilisateur parmi plusieurs options.
Bouton de liste déroulante Il est utilisé pour ajouter une liste déroulante pour prendre une seule entrée de l'utilisateur parmi plusieurs options.
Zone de liste Il est utilisé pour ajouter une zone de liste afin de prendre plusieurs entrées de l'utilisateur à partir de plusieurs options.
Texte Il est utilisé pour récupérer un texte multiligne de l'utilisateur.
Message Il permet d'afficher la fenêtre de message pour l'utilisateur.
Barre de défilement Il est utilisé pour ajouter une barre de défilement dans la fenêtre pour faire défiler la fenêtre de haut en bas.
Bouton de menu Il est utilisé pour afficher le menu à l'utilisateur.
Menu Il est utilisé pour afficher les éléments de menu à l'utilisateur.
Fenêtre Panée Il fonctionne comme un conteneur de widgets contenant les volets horizontaux et verticaux.
Onglets Il est utilisé pour ajouter une fenêtre d'onglet dans l'application.

Différents exemples de Tkinter

Les utilisations de certains widgets tkinter courants sont présenté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 ainsi que la hauteur et la largeur particulières :



#Importer le module nécessaire
depuis l'importation tkinter *

#Créer un objet pour la fenêtre
tkobj = Tk ( )

#Définir le titre de la fenêtre
tkobj.titre ( 'Apprendre le module Tkinter' )

#Définissez la hauteur et la largeur de la fenêtre
tkobj.géométrie ( '300x150' )

#Réglez la position d'affichage de la fenêtre au centre
tkobj.eval ( 'tk::PlaceWindow . centre' )

#Exécutez le Tkinter
tkobj.mainloop ( )

Sortir:

La sortie suivante apparaît après l'exécution du script. Une boîte de dialogue intitulée « Learn tkinter module » s'affiche :

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 :

#Importer le module nécessaire
depuis l'importation tkinter *

#Créer un objet pour la fenêtre
tkobj = Tk ( )

#Définir le titre de la fenêtre
tkobj.titre ( 'Apprendre le module Tkinter' )

#Définissez la hauteur et la largeur de la fenêtre
tkobj.géométrie ( '400x150' )

#Définir l'objet étiquette
lbl = Étiquette ( tkobj, texte = 'C'est une simple fenêtre' )
#Ajouter une étiquette à la fenêtre
lbl.pack ( iPadX = 30 , iPad = vingt )

#Définir l'objet bouton
bouton = Bouton ( tkobj, texte = 'Cliquez sur moi' )
#Ajouter un bouton à la fenêtre avec la position
btn.pack ( iPadX = 30 , iPad = dix )

#Réglez la position d'affichage de la fenêtre au centre
tkobj.eval ( 'tk::PlaceWindow . centre' )

#Exécutez le Tkinter
tkobj.mainloop ( )

Sortir:

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 la 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 background est utilisé pour définir la couleur d'arrière-plan du bouton et l'attribut foreground est utilisé pour définir la couleur de la police du bouton :

#Importer le module nécessaire
depuis l'importation tkinter *

#Créer un objet pour la fenêtre
tkobj = Tk ( )

#Définir le titre de la fenêtre
tkobj.titre ( 'Apprendre le module Tkinter' )

#Définissez la hauteur et la largeur de la fenêtre
tkobj.géométrie ( '400x150' )

#Définir l'objet étiquette
lbl = Étiquette ( tkobj, texte = 'Définir la couleur d'arrière-plan et de premier plan' )
#Ajouter une étiquette à la fenêtre
lbl.pack ( iPadX = 30 , iPad = vingt )

#Définir l'objet bouton avec la couleur d'arrière-plan et de premier plan
bouton = Bouton ( tkobj, texte = 'Cliquez sur moi' , arrière-plan = 'bleu' , premier plan = 'rouge' )
#Ajouter un bouton à la fenêtre avec la position
btn.pack ( iPadX = 30 , iPad = 8 )

#Réglez la position d'affichage de la fenêtre au centre
tkobj.eval ( 'tk::PlaceWindow . centre' )

#Exécutez le Tkinter
tkobj.mainloop ( )

Sortir:

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

Exemple 4 : Utilisation du cadre

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

#Importer le module nécessaire
depuis l'importation tkinter *

#Créer un objet pour la fenêtre
tkobj = Tk ( )

#Définir le titre de la fenêtre
tkobj.titre ( 'Module tkinter' )

#Définissez la hauteur et la largeur de la fenêtre
tkobj.géométrie ( '250x100' )

#Définir les objets cadre
frm = Cadre ( tkobj )
frm.pack ( )
lframe = Cadre ( tkobj )
lframe.pack ( côté =GAUCHE )
rframe = Cadre ( tkobj )
rframe.pack ( côté =DROITE )

#Définir l'étiquette à l'intérieur du cadre
lbl = Étiquette ( de la part de, texte = 'Utilisation du cadre' , fg = 'bleu' )
lbl.pack ( )

#Définir les boutons à l'intérieur du cadre
btn1 = Bouton ( le cadre, texte = '' , fg = 'noir' , bg = 'blanc' )
btn2.pack ( côté =DROITE )

#Réglez la position d'affichage de la fenêtre au centre
tkobj.eval ( 'tk::PlaceWindow . centre' )

#Exécutez le Tkinter
tkobj.mainloop ( )

Sortir:

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

Exemple 5 : gérer l'événement de bouton

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

#Importer les modules nécessaires
depuis l'importation tkinter *
depuis la boîte de message d'importation de tkinter

#Créer un objet pour la fenêtre
tkobj = Tk ( )

#Définir le titre de la fenêtre
tkobj.titre ( 'Apprendre le module Tkinter' )

#Définissez la hauteur et la largeur de la fenêtre
tkobj.géométrie ( '400x150' )

#Définir une fonction pour afficher une boîte de message
affichage par défaut ( ) :
messagebox.showinfo ( 'Information' , 'Le bouton est cliqué.' )

#Créer un texte d'étiquette avec la couleur, le style et la position de la police
Étiquette ( tkobj, texte = 'Application de bureau utilisant tkinter.' , fg = 'vert' ) .paquet ( Paddy = 25 )

#Créer un bouton avec un gestionnaire de boutons
Bouton ( tkobj, texte = 'Voir le message' , commande =affichage ) .paquet ( )

#Réglez la position d'affichage de la fenêtre au centre
tkobj.eval ( 'tk::PlaceWindow . centre' )

#Exécutez le Tkinter
tkobj.mainloop ( )

Sortir:

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 : prendre une entrée de l'utilisateur

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

#Importer les modules nécessaires
depuis l'importation tkinter *
à partir de tkinter.ttk importer Combobox
de tkinter importer ttk
importer du tkinter comme merci
depuis la boîte de message d'importation de tkinter

#Créer un objet tkinter
tkobj = Tk ( )

#Définir le titre de la fenêtre
tkobj.titre ( 'Formulaire d'informations utilisateur' )

#Définissez la hauteur et la largeur de la fenêtre
tkobj.géométrie ( '550x320' )

#Définir une fonction pour afficher les valeurs du formulaire
par défaut display_values ( ) :
#Lire le texte sur une seule ligne
nom = 'Nom : ' + nom_val.get ( ) + ' \n '
#Lire la valeur du bouton radio sélectionné
si genre.get ( ) == 1 :
g = 'Mâle'
autre:
g = 'Femelle'
g = 'Genre : ' + g + ' \n '

#Lire les valeurs des cases à cocher sélectionnées
jeu = ''
si g1.get ( ) == 1 :
jeu = 'Criquet'
si g2.get ( ) == 1 :
si jeu ! = '' :
jeu += ', ' + 'Football'
autre:
jeu = 'Football'
si g3.get ( ) == 1 :
si jeu ! = '' :
jeu += ', ' + 'Basket-ball'
autre:
jeu = 'Basket-ball'
jeu = 'Jeu : ' + jeu + ' \n '

#Lire les valeurs de la combobox
pays = 'Pays : ' + paysVal.get ( ) + ' \n '
#Lire le texte multiligne
adresse = 'Adresse : ' + adresse.get ( '1,0' , 'fin' ) + ' \n '
#Fusionner toutes les valeurs prises par les champs
form_values ​​= nom + g + jeu + pays + adresse
#Afficher les valeurs dans la boîte de message
messagebox.showinfo ( 'Détails des informations utilisateur' , valeurs_formulaire )


#Créer une étiquette et le champ nom
Étiquette ( tkobj, texte = 'Nom : ' ) .lieu ( X = 100 , et = vingt )
nom_val = StringVar ( )
ttk.Entrée ( tkobj, variable de texte =nom_val ) .paquet ( Padx = 220 , Paddy = vingt )

#Créer une étiquette et le bouton radio
Étiquette ( tkobj, texte = 'Genre : ' ) .lieu ( X = 100 , et = 60 )
sexe = IntVar ( )
genre.set ( 1 )
Bouton radio ( tkobj, texte = 'Mâle' , variable = sexe, valeur = 1 ) .lieu ( X = 210 , et = 60 )
Bouton radio ( tkobj, texte = 'Femelle' , variable = sexe, valeur = 2 ) .lieu ( X = 290 , et = 60 )

#Créer une étiquette et un bouton de case à cocher
Étiquette ( tkobj, texte = 'Jeu préféré : ' ) .lieu ( X = 100 , et = 100 )
g1 = VarInt ( )
g2 = VarInt ( )
g3 = VarInt ( )
Bouton à cocher ( tkobj, texte = 'Criquet' , variable =g1 ) .lieu ( X = 210 , et = 100 )
Bouton à cocher ( tkobj, texte = 'Football' , variable =g2 ) .lieu ( X = 290 , et = 100 )
Bouton à cocher ( tkobj, texte = 'Basket-ball' , variable =g3 ) .lieu ( X = 380 , et = 100 )

#Définir les valeurs du tuple
données = ( 'Bangladesh' , 'Japon' , 'ETATS-UNIS' )
#Créer une étiquette et une combobox
Étiquette ( tkobj, texte = 'Pays : ' ) .lieu ( X = 100 , et = 140 )
countryVal = StringVar ( )
Boîte combo ( tkobj, valeurs =données, variable de texte =valeurpays ) .lieu ( X = 220 , et = 140 )

#Créer une étiquette et un champ de texte
Étiquette ( tkobj, texte = 'Adresse : ' ) .lieu ( X = 100 , et = 180 )
adresse = ( tk.Texte ( tkobj, hauteur = 3 , largeur = vingt ) )
adresse.lieu ( X = 220 , et = 180 )

#Créer un bouton avec un gestionnaire de boutons
Bouton ( tkobj, texte = 'Soumettre' , commande = display_values ) .lieu ( X = 250 , et = 250 )

#Exécutez le Tkinter
tkobj.mainloop ( )

Sortir:

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 Python tkinter pour créer les applications GUI sont présentées dans ce didacticiel à l'aide de plusieurs exemples.