Pourquoi la fonction get de Tkinter Entry ne retourne rien?
Je suis en train d'utiliser un Entry
champ pour obtenir la saisie manuelle des données, et ensuite travailler avec ces données.
Toutes les sources que j'ai trouvé demander, je doit utiliser le get()
fonction, mais je n'ai pas trouvé un travail simple mini exemple encore, et je ne peux pas le faire fonctionner.
J'espère que quelqu'un peut me tél ce que je fais mal. Voici un mini-dossier:
from tkinter import *
master = Tk()
Label(master, text="Input: ").grid(row=0, sticky=W)
entry = Entry(master)
entry.grid(row=0, column=1)
content = entry.get()
print(content) # does not work
mainloop()
Cela me donne une Entry
domaine, je peux taper, mais je ne peux pas faire n'importe quoi avec les données une fois qu'il est entré.
Je soupçonne mon code ne fonctionne pas parce que d'abord, entry
est vide. Mais alors, comment puis-je accéder à des données d'entrée une fois qu'il a été tapé dans l'?
source d'informationauteur CodingCat
Vous devez vous connecter pour publier un commentaire.
Il semble que vous pouvez être confus quand les commandes sont exécutées. Dans votre exemple, vous appelez le
get
méthode avant de l'interface graphique a une chance d'être affiché sur l'écran (ce qui arrive une fois que vous appelezmainloop
.Essayez d'ajouter un bouton qui appelle la
get
méthode. C'est beaucoup plus facile si vous écrivez votre application en tant que classe. Par exemple:Exécuter le programme, tapez sur le widget de saisie, puis cliquez sur le bouton.
Vous pouvez également utiliser un
StringVar
variable, même si elle n'est pas strictement nécessaire:Pour plus d'informations, voir cette page sur effbot.org.
Un exemple simple sans classes:
ce que vous pourriez faire est de
ce que vous avez eu tort a été de ne pas le mettre à l'intérieur d'une fonction de définition, alors vous n'avais pas utilisé la ".fonction get avec le textvariable vous avez défini