Ceci est une ancienne révision du document !
Créer des interfaces graphiques avec Tkinter
Présentation
Tkinter est une librairie basique mais très simple d'utilisation pour construire rapidement des interfaces graphiques avec Python.
Le style de widgets n'est pas très esthétique (question de goût) mais ça reste tout de même une bonne base pour commencer dans le développement d'interface graphique (GUI).
Installation
- python-imaging-tk pour la gestion des images sous tkinter
- python3-tk pour la version 3.x de python.
Ceci peut se résumer avec l'outil apt-get en saisissant dans un terminal les commandes suivantes:
sudo apt-get install python-tk sudo apt-get install python-imaging-tk sudo apt-get install python3-tk
Etude d'un programme simple
Pour commencer, regardez et essayer de comprendre la structure du code :
#!/usr/bin/env python # -*- coding: Latin-1 -*- # # Programme Tkinter.py # from Tkinter import * #Pour python3.x Tkinter devient tkinter class ApplicationBasic(): '''Application principale''' def __init__(self): '''constructeur''' self.fen = Tk() self.fen.title('Tkinter') self.bou_action = Button(self.fen) self.bou_action.config(text='Action', command=self.action) self.bou_action.pack() self.bou_quitter = Button(self.fen) self.bou_quitter.config(text='Quitter', command=self.fen.destroy) self.bou_quitter.pack() self.fen.mainloop() def action(self): '''Action sur un bouton''' self.lab = Label(self.fen) self.lab.config(text='Bravo!!!') self.lab.pack() if __name__ == '__main__': app = ApplicationBasic()
chaque partie correspond à :
- importation de la librairie :
from Tkinter import *
- la création d'une classe :
class ApplicationBasic():
- la création d'une méthode constructrice :
def __init__(self):
- instancier une fenêtre Tk() :
self.fen = Tk()
- définition du titre de cette fenêtre :
self.fen.title('Tkinter')
- création d'un simple bouton action :
self.bou_action = Button(self.fen)
- configuration de ce bouton :
self.bou_action.config(text='Action', command=self.action)
- mise en place de celui-ci dans la fenêtre avec une méthode de placement :
self.bou_action.pack()
- définition de la fonction qui sera connecté au bouton Action :
ef action(self) : '''Action sur un bouton''' self.lab = Label(self.fen) self.lab.config(text='Bravo!!!') self.lab.pack()
- même travail pour créer un bouton quitter. Ici vous constaterez qu'il n'est pas nécessaire de créer une fonction dédiée à ce bouton, la commande associée faisant le nécessaire :
self.bou_quitter = Button(self.fen) self.bou_quitter.config(text='Quitter', command=self.fen.destroy) self.bou_quitter.pack()
- lancement du gestionnaire d'événements :
self.fen.mainloop()
- assignation de la classe à une variable :
app = ApplicationBasic()
Enregistrer votre fichier source avec une extension .py puis lancez-le depuis un terminal en saisissant la commande suivante:
python 'fichier.py'
Liens
Contributeurs:Boileau jonathan – Mail: boileau_jonathan@hotmail.fr