Programmation Python/Tkinter
Un livre de Wikibooks.
Cette page est considérée comme une ébauche à compléter. Si vous possédez quelques connaissances sur le sujet, vous pouvez les partager en éditant dès à présent cette page (en cliquant sur le lien « modifier »).
Ressources suggérées : Aucune (vous pouvez indiquer les ressources que vous suggérez qui pourraient aider d'autres personnes à compléter cette page dans le paramètre « ressources » du modèle? engendrant ce cadre)
| Programmation Python |
| Partie 1 : Introduction |
| Partie 2 : Le langage |
| Partie 3 : Les bibliothèques |
|
| Partie 4 : Autour de Python |
| Annexe |
| Modifier ce modèle |
[modifier] Créer des interfaces python avec Tkinter
[modifier] Que faut il posséder d'abord?
L'interface Tkinter s'installe avec Python il suffit donc juste d'installer Python 2.3 ou 2.4 pour pouvoir utiliser Tkinter.
Ensuite il vous suffit d'importer la bibliothèque dans votre programme ( from Tkinter import *).
[modifier] Principes de base
Créez un fichier texte dans le dossier python 2.4 ou python 2.3 Donnez lui le nom que vous voulez, mais pour que votre fichier puisse être interprété par python, il doit porter l'extension . py ou .pyw créez donc un fichier du type : monfichier.py (dans ce cas, la console s'affichera, ce qui peut être pratique pour suivre le fonctionnement du programme) ou monfichier.pyw (dans ce cas la console ne s'ouvrira pas : c'est ce type d'extension qu'il faut utiliser pour la version définitive du programme) Pour écrire le programme : clic droit sur le fichier ouvrir avec le bloc note
[modifier] Quelques règles d'écriture
Les espaces n'ont pas d'incidence sur le fonctionnement Les commentaires précédés de # permettent de donner des indications et des repères dans le programme, mais n'ont aucun effet sur le programme
[modifier] créer une fenêtre pour l'application
[modifier] propriétés et méthodes de l'objet fenêtre
le programme est le suivant :
from Tkinter import * # le programme va aller chercher des fonctions dans la librairie Tkinter fen= Tk() # vous pouvez choisir le nom que vous voulez pour votre fenetre fen.mainloop() # lance la boucle principale
[modifier] Qu'est-ce qu'un widget ?
widget : contraction de windows gadget. Les widgets sont tous les objets graphiques que l'on peut insérer dans une interface (fenêtre).Les principaux sont :
les boutons : Button (pour commander une action)
Les labels : Label (pour insérer un texte)
Les zones de saisie : Entry ( pour entrer une donnée)
Les Canvas : pour insérer des images
Chaque widget a des propriétés et des méthodes qui permettent de régler son apparence et les interactions de l'utilisateur.
[modifier] ajouter des boutons
chaque widget (objet d'interface) doit être créé puis placé dans la fenêtre
from Tkinter import * # le programme va aller chercher des fonctions dans la librairie Tkinter fen= Tk() # création de la fenêtre, vous pouvez choisir le nom que vous voulez pour votre fenetre bou1=Button(fen, text="quitter", command=fen.destroy) # création du bouton, associé à l'action fen.destroy* bou1.pack() # insère le bouton dans la fenêtre fen.mainloop() # lance la boucle principale
- : .La command .destroy() est une méthode de destruction qui s'applique à l'objet fen1. La pression du bouton a donc pour conséquence la fermeture de la fenêtre fen
[modifier] propriétés et méthodes de l'objet bouton
- Ce qui sera affiché sur votre bouton est contenu dans "text".
- La "command" permet une action lorsqu'on clique sur ce bouton.
[modifier] l'incontournable "hello word" : ajouter un Label
- from Tkinter import *
- fen=Tk()
- texte=Label(fen, text="Hello Word",fg='black') #Création du texte "Hello Word" de couleur noir
- texte.pack() # Insère le texte dans la fenêtre
- fen.mainloop()
[modifier] propriétés et méthodes de l'objet label
- "fg" contient la couleur et celle ci doit être donné en anglais
[modifier] Le widget Entry
[modifier] propriétés et méthodes de l'objet Entry
Entry() est utilisé dans Python.C'est en faite une petite zone de texte que l'on créer comme ceci:
from Tkinter import * #On importe le module
root = Tk()
ent = Entry(root)# On ajoute L'objet Entry, ne pas oublier la majuscule
ent.pack()# on place "ent"
root.mainloop() # On test
Vous pouvez l'utiliser dans des situations plus complexe comme par exemple un formulaire que je vous laisserez éxaminer:
from Tkinter import *
root = Tk()
root.title('Mon noM')
def repondre():
affichage['text'] = rep.get() #Vous laisserez 4 espace avant affichage.
nom = Label(root, text = 'Votre nom :')
rep = Entry(root)
val = Button(root, text =' Valider', command=repondre)
affichage = Label(root, width=30)
votre_nom=Label(root, text='Votre nom est:')
nom.pack()
rep.pack()
val.pack()
votre_nom.pack()
affichage.pack()
root.mainloop()