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

Tkinter Python Discussion :

recuperation de donnees de radiobutton [Python 3.X]


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2016
    Messages : 32
    Par défaut recuperation de donnees de radiobutton
    bonjour
    je suis (vraiment) débutant sur python et j'aimerais pouvoir récupérer une valeur selon le bouton coché ; dés que je souhaite récuperer avec var_choix.get(), j'ai une erreur. Merci de m'aider si possible
    J'ai le code suivant :

    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
    19
    20
    21
    22
    23
    24
    25
    fenetre=Tk.Tk()
    fenetre.title('Choix du matériau')
    var_choix=Tk.StringVar()
    choix_acier = Tk.Radiobutton(fenetre, text="Acier", variable=var_choix,
    value='7.8')
    choix_alu = Tk.Radiobutton(fenetre, text="Aluminium", variable=var_choix,
    value='2.7')
    choix_bronze = Tk.Radiobutton(fenetre, text="Bronze", variable=var_choix,
    value='8.8')
    choix_cuivre = Tk.Radiobutton(fenetre, text="Cuivre", variable=var_choix,
    value='8.92')
    choix_titane = Tk.Radiobutton(fenetre, text="Titane", variable=var_choix,
    value='4.5')
    choix_zinc = Tk.Radiobutton(fenetre, text="Zinc", variable=var_choix,
    value='7.15')
    bouton_valid = Tk.Button (fenetre, text="Validez", command = destroy)
    choix_acier.pack(side = Tk.LEFT, padx = 5, pady = 5)
    choix_alu.pack(side = Tk.LEFT, padx = 5, pady = 5)
    choix_bronze.pack(side = Tk.LEFT, padx = 5, pady = 5)
    choix_cuivre.pack(side = Tk.LEFT, padx = 5, pady = 5)
    choix_titane.pack(side = Tk.LEFT, padx = 5, pady = 5)
    choix_zinc.pack(side = Tk.LEFT, padx = 5, pady = 5)
    bouton_valid.pack(side = Tk.LEFT, padx = 5, pady = 5)
     
    fenetre.mainloop()

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Salut,

    Citation Envoyé par segolsed Voir le message
    je suis (vraiment) débutant sur python et j'aimerais pouvoir récupérer une valeur selon le bouton coché ; dés que je souhaite récuperer avec var_choix.get(), j'ai une erreur. Merci de m'aider si possible
    L'instruction var_choix.get() n'étant pas présente le code que vous avez posté, difficile de comprendre le problème.
    note: si vous débutez, je suppose que vous avez pris le temps de lire (et comprendre) un des tutos.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2016
    Messages : 32
    Par défaut
    merci pour ta réponse rapide,

    en fait, j'ai essayé de placer l'instruction à plusieurs endroits avec à chaque fois une erreur de syntax, je me demande finalement quelle syntaxe je dois utiliser.

  4. #4
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2016
    Messages : 32
    Par défaut
    effectivement, j'ai regardé plusieurs tutos, code et forums mais je suis toujours bloqué.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par segolsed Voir le message
    en fait, j'ai essayé de placer l'instruction à plusieurs endroits avec à chaque fois une erreur de syntax, je me demande finalement quelle syntaxe je dois utiliser.
    Si vous ne montrez pas ce que vous avez essayé de faire...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2016
    Messages : 32
    Par défaut
    j'ai un peu avancé ; maintenant, la console me renvoie :
    <function memo at 0x00000000034C86A8>
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
     
    fenetre=Tk.Tk()
    fenetre.title('Choix du matériau')
    var_choix=Tk.DoubleVar()
     
    var_choix.set (7.8)
     
    def memo():
        memo = 0.0 + var_choix.get()
        return memo
        print ("memo", memo)
     
    choix_acier = Tk.Radiobutton(fenetre, text="Acier", variable=var_choix,
    value='7.8', command = memo)
    choix_alu = Tk.Radiobutton(fenetre, text="Aluminium", variable=var_choix,
    value='2.7', command = memo)
    choix_bronze = Tk.Radiobutton(fenetre, text="Bronze", variable=var_choix,
    value='8.8', command = memo)
    choix_cuivre = Tk.Radiobutton(fenetre, text="Cuivre", variable=var_choix,
    value='8.92', command = memo)
    choix_titane = Tk.Radiobutton(fenetre, text="Titane", variable=var_choix,
    value='4.5', command = memo)
    choix_zinc = Tk.Radiobutton(fenetre, text="Zinc", variable=var_choix,
    value='7.15', command = memo)
     
     
     
    def result():
        print (memo)
     
    bouton_valid = Tk.Button (fenetre, text="Validez", command = result)
     
    choix_acier.pack(side = Tk.LEFT, padx = 5, pady = 5)
    choix_alu.pack(side = Tk.LEFT, padx = 5, pady = 5)
    choix_bronze.pack(side = Tk.LEFT, padx = 5, pady = 5)
    choix_cuivre.pack(side = Tk.LEFT, padx = 5, pady = 5)
    choix_titane.pack(side = Tk.LEFT, padx = 5, pady = 5)
    choix_zinc.pack(side = Tk.LEFT, padx = 5, pady = 5)
    bouton_valid.pack(side = Tk.LEFT, padx = 5, pady = 5)
     
     
     
    fenetre.mainloop()

  7. #7
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2016
    Messages : 32
    Par défaut
    toujours cette foutue erreur

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par segolsed Voir le message
    j'ai un peu avancé ; maintenant, la console me renvoie :
    <function memo at 0x00000000034C86A8>
    Si vous fabriquez une fonction "memo" comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> def memo():
    ...    return 'foo'
    ...
    >>>
    "memo" tout seul est la fonction, donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> print (memo)
    <function memo at 0x000000000336FD90>
    >>>
    Et pour que la fonction "fonctionne" il faut l'appeler:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> print (memo())
    foo
    Si vous ne maîtrisez pas encore ces bases là, programmer avec tkinter va être très difficile... Ça serait bien de passer du temps à apprendre les bases: les tutos sont la pour çà (mais il ne suffit pas de lire ou de recopier les exemples!)... Cela vous permettrait de réduire votre code:
    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
    19
    20
    21
    22
    import tkinter as tk
     
    fenetre=tk.Tk()
    fenetre.title('Choix du matériau')
     
    choix = tk.DoubleVar(value=7.8)
     
    for name, value in [
                ('Acier', 7.8),
                ('Aluminium', 2.7),
                ('Bronze', 8.8),
                ]:
        w = tk.Radiobutton(text=name, variable=choix, value=value)
        w.pack()
     
    def result():
        print (choix.get())
     
    w = tk.Button (text="Validez", command = result)
    w.pack()
     
    tk.mainloop()
    c'est pas compliqué d'utiliser une liste et une boucle for au lieu de recopier des lignes d'instructions.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JTable] recuperer les donnees
    Par clemouf dans le forum Composants
    Réponses: 3
    Dernier message: 08/02/2019, 15h44
  2. recuperation des donnees snmp sur un autre poste en java
    Par maire106 dans le forum Développement
    Réponses: 4
    Dernier message: 17/04/2011, 13h17
  3. Réponses: 12
    Dernier message: 03/11/2005, 12h26
  4. [Applets] Recuperer les donnees
    Par calypso dans le forum Applets
    Réponses: 11
    Dernier message: 05/04/2005, 16h18
  5. [KNOPPIX] Linux pour la récupération de données
    Par manunu dans le forum Autres
    Réponses: 8
    Dernier message: 06/05/2004, 12h30

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