On suppose que l'on a créé une fenêtre
>>> fen=Tk()
Alors...
>>> entree = Entry(fen) >>> entree.pack()
Crée un emplacement dans fen, dans lequel on peut saisir du texte.
Pour récupérer le texte saisi :
>>> entree.get()
Supposons maintenant que l'on souhaite exécuter une fonction evaluer quand la touche Return est poussée. On agira ainsi :
>>> entree.bind("<Return>", evaluer)
bind permet de relier l'événement "appuyer sur Return" à l'objet entree, le gestionnaire de cet événement étant la fonction evaluer.
On a déjà vu comment créer un champ de texte avec Label() :
>>> texte=Label(fen,text='toto') >>> texte.pack()
Pour changer la valeur d’un champ de texte, on utilise la méthode configure
>>> texte.configure(text='toto2')
Un bouton classique, à utiliser pour provoquer l'exécution d’une commande quelconque.
Un espace pour disposer divers éléments graphiques. Ce widget peut être utilisé pour dessiner, créer des éditeurs graphiques, et aussi pour implémenter des widgets personnalisés.
Une « case à cocher » qui peut prendre deux états distincts (la case est cochée ou non). Un clic sur ce widget provoque le changement d’état.
Un champ d’entrée, dans lequel l'utilisateur du programme pourra insérer un texte quelconque à partir du clavier.
Une surface rectangulaire dans la fenêtre, où l'on peut disposer d'autres widgets. Cette surface peut être colorée. Elle peut aussi être décorée d'une bordure.
Un texte (ou libellé) quelconque (éventuellement une image).
Une liste de choix proposés à l'utilisateur, généralement présentés dans une sorte de boîte.
On peut également configurer la Listbox de telle manière qu’elle se comporte comme une série de « boutons radio » ou de cases à cocher.
Un menu. Ce peut être un menu déroulant attaché à la barre de titre, ou bien un menu « pop up » apparaissant n'importe où à la suite d’un clic.
Un bouton-menu, à utiliser pour implémenter des menus déroulants.
Permet d’afficher un texte. Ce widget est une variante du widget Label, qui permet d'adapter automatiquement le texte affiché à une certaine taille ou à un certain rapport largeur/hauteur.
Représente (par un point noir dans un petit cercle) une des valeurs d'une variable qui peut en posséder plusieurs.
Cliquer sur un « bouton radio » donne la valeur correspondante à la variable, et "vide" tous les autres boutons radio associés à la même variable.
Un exemple d'utilisation ici.
Vous permet de faire varier de manière très visuelle la valeur d'une variable, en déplaçant un curseur le long d’une règle.
« ascenseur » ou « barre de défilement » que vous pouvez utiliser en association avec les autres widgets : Canvas, Entry, Listbox, Text.
Affichage de texte formaté. Permet aussi à l'utilisateur d’éditer le texte affiché. Des images peuvent également être insérées.
Une fenêtre affichée séparément, « par-dessus »
Associer un délai à un widget, on fait par exemple
>>> wid.after(200,qqc)
ce qui déclenche pour le widget wid un appel de la fonction qqc() après une pause de 200 millisecondes.
Voici comment programmer une calculette rudimentaire :
>>> from Tkinter import * >>> from math import * >>> def evaluer(event) : ... chaine.configure(text = "Resultat = " + str(eval(entree.get()))) ... >>> fenetre = Tk() >>> entree = Entry(fenetre) >>> entree.bind("<Return>", evaluer) >>> chaine = Label(fenetre) >>> entree.pack() >>> chaine.pack() >>> fenetre.mainloop()