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
    Nouveau membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2012
    Messages
    23
    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 : 23
    Points : 29
    Points
    29
    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 éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    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 : 3 823
    Points : 7 119
    Points
    7 119
    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.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2012
    Messages
    23
    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 : 23
    Points : 29
    Points
    29
    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 éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    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 : 3 823
    Points : 7 119
    Points
    7 119
    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.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  5. #5
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    946
    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 : 946
    Points : 1 351
    Points
    1 351
    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 averti
    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
    Points : 413
    Points
    413
    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
    Bouddha : Tout n'est qu'illusion en ce bas monde.
    Jésus : Tout est amour divin.
    Einstein : Tout est relatif dans cet espace-temps.
    Moi : Tout est binaire sur ce forum.

  7. #7
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    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 : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    Il faut utiliser une StringVar :
    Par rapport à la demande du PO, logiquement, je dirais plus un IntVar
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

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