Comment récuper un NOMBRE demandé a l'utilisateur avec Tkinter
nanadu387
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
nanadu387 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
nanadu387 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai besoin de récuper une valeur entrer par l'utilisateur avec un widgets Tkinter, j'arrive à l'afficher avec un print dans une fonction, mais pas à la récupere pour mon programme global, où j'ai besoin de faire des calculs avec ce nombre.
Voici mon programme ( avec python 2 )
Celui la ne m'affiche que v , et pas a.
from Tkinter import *
def get_entry(event):
global v
v = float(truc.get())
print(v)
root = Tk()
truc = Entry(root, width=30)
truc.pack()
root.bind('<Return>', get_entry)
root.mainloop()
global v
a = v+5
print (a)
Qu'est ce qui ne marche pas ? comment faire ? HELP !
J'ai besoin de récuper une valeur entrer par l'utilisateur avec un widgets Tkinter, j'arrive à l'afficher avec un print dans une fonction, mais pas à la récupere pour mon programme global, où j'ai besoin de faire des calculs avec ce nombre.
Voici mon programme ( avec python 2 )
Celui la ne m'affiche que v , et pas a.
from Tkinter import *
def get_entry(event):
global v
v = float(truc.get())
print(v)
root = Tk()
truc = Entry(root, width=30)
truc.pack()
root.bind('<Return>', get_entry)
root.mainloop()
global v
a = v+5
print (a)
Qu'est ce qui ne marche pas ? comment faire ? HELP !
A voir également:
- Comment récuper un NOMBRE demandé a l'utilisateur avec Tkinter
- Comment utiliser un chromecast - Guide
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Mettre un 0 devant un nombre dans excel - Guide
- Changer nom utilisateur windows 10 - Guide
1 réponse
Bonjour,
1ère chose, utilise les balises codes lorsque tu postes du code sur le forum =)
Comme tu débutes, autant utiliser la dernière version de python, python2 sera bientôt obsolète et ne sera plus maintenue.
Maintenant, il faut bien comprendre comment fonctionne tkinter et les applis graphique en général, le code après le mainloop ne sera exécuté que lorsque tkinter sera clos, donc tu dois écrire tout ton code avant le mainloop.
Il existe un paramètre textvariable de Entry destiné justement à contenir les variables tkinter, voici un simple exemple selon ton souhait.
A noter qu'il n'y a aucune vérification de faite sur la valeur de v dans la fonction calculer, à toi de t'assurer que la saisie de l'utilisateur peut être convertie en float, et de gérer les erreurs si pas bon, il existe des méthodes pour n'autoriser que des valeurs strictes dans un widget entry, mais je pense que tu n'es pas encore assez calé pour arriver à les utiliser tout de suite.
Bon courage.
1ère chose, utilise les balises codes lorsque tu postes du code sur le forum =)
Comme tu débutes, autant utiliser la dernière version de python, python2 sera bientôt obsolète et ne sera plus maintenue.
Maintenant, il faut bien comprendre comment fonctionne tkinter et les applis graphique en général, le code après le mainloop ne sera exécuté que lorsque tkinter sera clos, donc tu dois écrire tout ton code avant le mainloop.
Il existe un paramètre textvariable de Entry destiné justement à contenir les variables tkinter, voici un simple exemple selon ton souhait.
from Tkinter import * def calculer(event): v = float(truc.get()) result['text'] = v + 5 root = Tk() v = StringVar() truc = Entry(root, width=30, textvariable=v) truc.pack() result = Label() result.pack() root.bind('<Return>', calculer) root.mainloop()
A noter qu'il n'y a aucune vérification de faite sur la valeur de v dans la fonction calculer, à toi de t'assurer que la saisie de l'utilisateur peut être convertie en float, et de gérer les erreurs si pas bon, il existe des méthodes pour n'autoriser que des valeurs strictes dans un widget entry, mais je pense que tu n'es pas encore assez calé pour arriver à les utiliser tout de suite.
Bon courage.
J'ai testé ton code, mais il ne fait pas ce dont j'ai besoin. En fait, quand je dis que je veux récupérer un nombre c'est pour l'utiliser dans un programme beaucoup plus grand.
Mon programme est déja fait, et au lieu de le demander à la console je voulais une fenêtre pour plus de simplicité (pour l'utilisateur, parce que pour le programmeur c'est l'inverse !!!)
J'ai besoin d'effectuer des calcules avec cette variable rentrée par l'utilisateur, or visiblement je ne peux pas avec ce programme...