1. Définition et syntaxe générale du widget Entry
Le widget Entry en Tkinter, permet de créer une zone de saisie sur une seule ligne, pouvant servir à la récupération des données saisie par l'utilisateur afin les utiliser comme variables (formulaire d'inscription, formulaire d'identification...).
La syntaxe est :
1 |
Nom_du_champ = Entry( Nom_de_la_fenêtre,options...) |
Syntaxe pour créer un widget Entry sur une fenêtre:
1 2 3 |
champ_saisie = Entry (master, option, ...) # master : fenêtre parente. #options : la liste des options pour le widget Entry. |
Exemple (Widget Entry sur une fenêtre Tkinter)
1 2 3 4 5 6 7 |
from tkinter import * root = Tk() user_Entry = Entry(root,bg="blue") user = Label(root, text = "User Name") user.pack() user_Entry.pack() root.mainloop() |
Ce qui affiche après exécution :
2. Liste des options pour le widget Entry
-
- bg : définit la couleur d'arrière-plan du widget Entry.
- bd : définit la taille des bordures. La valeur par défaut est 2 pixels.
- command : définit et associe une commande
- cursor : définit le motif du curseur de la souris
- font : définit la police qui sera utilisée pour le texte.
- exportselection : par défaut, si vous sélectionnez du texte dans un widget Entry, il peut être exporté vers le Presse-papiers. Pour éviter cette exportation, utilisez exportselection = 0.
- fg : définit la couleur qui sera utilisée pour le texte
- highlightcolor : Il représente la couleur de surbrillance à utiliser pour le rectangle qui est dessiné autour du widget lorsqu'il a le focus.
- justify : Il spécifie comment le texte est organisé s'il contient plusieurs lignes. 10relief Spécifie le type de bordure. Sa valeur par défaut est FLAT.
- selectbackground : la couleur d'arrière-plan du texte sélectionné.
- selectborderwidth : définit la largeur de la bordure à utiliser autour du texte sélectionné. La valeur par défaut est un pixel.
- selectforeground : définit la couleur de premier plan du texte sélectionné.
- show : est utilisé pour afficher ou masquer les caractères. Exemple pour un mot de passe on utilise show = "*".
- state : la valeur par défaut est state = NORMAL, mais vous pouvez utiliser state = DISABLED pour masquer le contrôle et le rendre inactif.
- textvariable : Pour pouvoir extraire le texte actuel de votre widget Entry, vous devez définir cette option sur une instance de la classe StringVar.
- width : définit la largeur du widget
- xscrollcommand : ajoute une barre de défilement au widget.
3. Les méthodes associés au widget Entry
-
- delete( first, last = None) : Supprime les caractères du widget, en commençant par celui qui est à l'index first, jusqu'au dernier last
- get() : renvoie le texte actuel de l'entrée sous forme de variable chaîne.
- icursor(index) : place le curseur d'insertion juste avant le caractère à l'index donné.
- index(index) : décale le contenu de l'entrée de sorte que le caractère à l'index donné soit le caractère visible le plus à gauche. N'a aucun effet si le texte est entièrement contenu dans l'entrée.
- insert(index, s) : insère la chaîne s avant le caractère à l'index donné.
- select_adjust (index) : cette méthode permet de s'assurer que la sélection inclut le caractère à l'index spécifié.
- select_clear () : efface la sélection. S'il n'y a pas actuellement de sélection, n'a aucun effet.
- select_form(index) : définit la position de l'index d'ancrage sur le caractère spécifié par l'index.
- select_present() : s'il y a une sélection, renvoie vrai, sinon renvoie faux.
- select_range(début, fin) : sélectionne les caractères qui existent dans la plage spécifiée.
- select_to(index) : sélectionne tous les caractères du début à l'index spécifié.
- xview(index) : utilisé pour lier le widget de saisie à une barre de défilement horizontale.
- xview_scroll() : utilisé pour faire défiler l'entrée horizontalement.
Exemple. widget Entry
1 2 3 4 5 6 7 |
from tkinter import * root = Tk() user = Label(root, text = "User Name") user.pack( side = LEFT ) user_Entry = Entry(root, bd = 10, bg="green") user_Entry.pack( side=RIGHT ) root.mainloop() |
Ce qui affiche après exécution :
4. Associer un évènement à un Widget Tkinter
Les événement en Tkinter seront traités plus en détails ultérieurement, mais ici nous donnons seulement une idée d'un cas simple d'événement Return associé à un champ Entry et qui sera déclenché en appuyant sur la touche Entrée du clavier:
Associer un évènement à un champ Entry (bind action)
On peut associer un évènement à un champ de saisi à l'aide de la méthode bind() :
1 |
entry.bind("type_evenement", actionEvent) |
Exemple (Evènement associé à un champ de saisi)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# coding: utf-8 from tkinter import * def actionEvent(event): lbl.configure(text = "Vous avez tapé = "+ entry.get()) root = Tk() root.geometry("300x150") entry = Entry(root) # Association de l'évènement actionEvent au champ de saisie entry.bind("<Return>", actionEvent) lbl = Label(root, text = ".....") entry.pack() lbl.pack() root.mainloop() |
Et maintenant en tapant un texte "Hello World" à titre d'exemple et en appuyant sur la touche entrée du clavier on obtient:
Younes Derfoufi
CRMEF OUJDA
1 thought on “Le champ de saisie Entry Tkinter”