IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Recup entrée interactive (demande basique)


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 25
    Par défaut Recup entrée interactive (demande basique)
    bonjour,

    c'est très basique

    je me suis fait une développement mais je n'arrive pas à trouver le bon widget sous tkinter pour saisir une valeur (meme si text que je transforme ensuite en int ou float) ou un texte complet (comme un "word")faire ok pour qu'il remplisse une variable qui me sert dans mon programme.
    actuellement je suis obligé d'avoir le python shell pour le faire

    merci d'avance

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 049
    Par défaut
    Bonjour,

    Vous pouvez utiliser le widget Entry pour une récupération sur une seule ligne, et Text pour une récupération sur plusieurs lignes.

    Bonne journée.

  3. #3
    Membre averti
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 25
    Par défaut
    bonsoir

    j'avais essayé en faisant

    txt1=Label(fen1,text="Coordonnée x")
    txt1.grid(row=0)
    x=Entry(fen1)
    x.grid(row=0,column=1)

    puis

    xint=int(x) pour transformer le texte en entier
    sauf qu'il me dit que x est de type entry et non pas string et cela bug

    en plus je n'ai pas de bouton pour valider la saisie.

    c'est pour cela que j'avais pensé que ce n'étais pas le bon widget.

    cordialement

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 049
    Par défaut
    Bonjour,

    Je vous avais donné le lien sur la documentation, concernant le widget Entry... Vous pouvez voir du côté de la méthode get, pour récupérer la valeur insérée dans le widget.

    en plus je n'ai pas de bouton pour valider la saisie.
    Dans ce cas, il faudra valider par l'appui d'une touche, comme la touche Entrée par exemple en utilisant les bindings.

  5. #5
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    Je pense que le plus simple est d'associer une variable Tkinter à ton entry. Ce code est en python 2.7. A l'appui sur le bouton, on vérifie la ou les données entrée, c'est pratique quand il y a plusieurs entrées comme dans un formulaire.

    A+

    Pfeuh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import Tkinter as tk
     
    def validator(value1, value2, log):
        text = "entree 1 : %s - entree 2 : %s"%(value1.get(), value2.get())
        log["text"] = text
     
    win = tk.Tk()
    my_value1 = tk.StringVar()
    entry1 = tk.Entry(win, textvariable=my_value1)
    entry1.grid()
    my_value2 = tk.StringVar()
    entry2 = tk.Entry(win, textvariable=my_value2)
    entry2.grid()
    log = tk.Label(win, width=80)
    log.grid()
    button = tk.Button(win, text="voir les valeurs", command=lambda value1=my_value1, value2 = my_value2, output=log:validator(value1, value2, log))
    button.grid()
    win.mainloop()

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    Il faut utiliser une StringVar :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    try : from tkinter import *
    except : from Tkinter import *
     
    f=Tk()
     
    texte=StringVar()
    entree=Entry(f,textvariable=texte)
    entree.pack()
     
    #pour obtenir la valeur saisie :
    a=texte.get()#str
    b=int(texte.get())#j'ai pas ajouté les try et tout

  7. #7
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 049
    Par défaut
    Il faut utiliser une StringVar :
    Par rapport à la demande du PO, logiquement, je dirais plus un IntVar

Discussions similaires

  1. htaccess / Urlrewriting - demande basique et simple
    Par dojbouli dans le forum Apache
    Réponses: 2
    Dernier message: 16/06/2014, 17h10
  2. Délai légal entre 2 demandes de congés ?
    Par celyn03 dans le forum Congés
    Réponses: 0
    Dernier message: 01/01/2008, 17h21
  3. [VB .Net][Forms] Interaction entre deux forms
    Par plasticgoat dans le forum Windows Forms
    Réponses: 7
    Dernier message: 24/08/2005, 13h14
  4. [Collaboration/Interaction] Peut-on schématiser une interaction entre un bouton de commande et un autre objet ?
    Par manel007 dans le forum Autres Diagrammes
    Réponses: 5
    Dernier message: 21/09/2004, 01h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo