Recherche…


Syntaxe

  • entry = tk.Entry ( parent , ** kwargs )
  • entry.get ()
  • entry.insert (index, "value")
  • entry.delete (start_index, end_index)
  • entry.bind (événement, rappel)

Paramètres

Paramètre La description
parent Les widgets tkinter existent dans une hiérarchie. À l'exception de la fenêtre racine, tous les widgets ont un parent. Certains didacticiels en ligne appellent ce "maître". Lorsque le widget est ajouté à l'écran avec le pack , le place ou la grid , il apparaîtra dans ce widget parent
largeur La largeur spécifie la largeur souhaitée du widget en fonction d'une largeur de caractère moyenne. Pour les polices de largeur variable, cela est basé sur la largeur du caractère zéro ( 0 ). La valeur par défaut est 20. Notez que la largeur réelle peut être plus grande ou plus petite selon la manière dont elle est ajoutée à l'écran.

Remarques

Ces exemples supposent que tkinter a été importé avec import tkinter as tk (python 3) ou import Tkinter as tk (python 2).

Création d'un widget Entrée et définition d'une valeur par défaut

entry = tk.Entry(parent, width=10)
entry.insert(0, "Hello, World!")

Obtenir la valeur d'un widget Entrée

La valeur d'un widget d'entrée peut être obtenue avec la méthode get du widget:

name_entry = tk.Entry(parent)
...
name = name_entry.get()

Vous pouvez éventuellement associer une instance de StringVar et extraire la valeur de StringVar plutôt que du widget:

name_var = tk.StringVar()
name_entry = tk.Entry(parent, textvariable=name_var)
...
name = name_var.get()

Ajout de validation à un widget Entrée

Pour limiter les caractères pouvant être saisis dans un widget de saisie, seuls les nombres, par exemple, une commande de validation peuvent être ajoutés à l'entrée. Une commande validate est une fonction qui renvoie True si la modification est acceptée, False sinon. Cette fonction sera appelée chaque fois que le contenu de l'entrée est modifié. Différents arguments peuvent être passés à cette fonction, comme le type de modification (insertion, suppression), le texte inséré, ...

def only_numbers(char):
    return char.isdigit()

validation = parent.register(only_numbers)
entry = Entry(parent, validate="key", validatecommand=(validation, '%S'))

L'option validate détermine le type d'événement qui déclenche la validation, ici, c'est une frappe quelconque dans l'entrée. Le '%S' de l'option validatecommand signifie que le caractère inséré ou supprimé est passé en argument à la fonction only_numbers . La liste complète des possibilités se trouve ici .

Obtenir à partir du widget d'entrée

Lorsque vous utilisez la méthode .get (), tout ce qui se trouve dans le widget d’entrée sera converti en chaîne. Par exemple, quel que soit le type d'entrée (il peut s'agir d'un nombre ou d'une phrase), le résultat sera une chaîne. Si l'utilisateur tape 4, la sortie sera "4" comme dans une chaîne. Pour obtenir un int à partir d'un widget de saisie, commencez par appeler la méthode .get ().

What_User_Wrote = Entry.get()

Maintenant, nous convertissons cette chaîne en un int comme ça:

Convert_To_Int = int(What_User_Wrote)

De même, si vous voulez gagner du temps, vous pouvez simplement faire:

Convert_To_Int = int(Entry.get())

Vous pouvez utiliser la méthode ci-dessus si vous ne voulez pas convertir str en int.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow