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 :

un bouton/parametre spécifique a la boucle


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 9
    Par défaut un bouton/parametre spécifique a la boucle
    Bonjour a tous

    J'ai creer un programme lisant un fichier XML, ce fichier est un tableau de bareme, a chaque ligne il ya un bouton "modifier" qui devrais me permetre de modifier la ligne.

    il se presente un peu comme celui ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    While i<10 :
     
             while ligne<5 :
                      button(fenetre, text="modifier", command=modifier(ligne).grid(row=ligne, column=2)
                      Valeurx = i
                      Valeury = 10 
                      ligne=ligne+1
             i=i+1
    mais le probleme c'est que tout les bouton sont identique il prend tous la valeur de fin de boucle et ne sont pas specifique a la ligne .

    je bloque...

    Merci de m'éclairer
    Cordialement

  2. #2
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    C'est normal : Cela te donne ligne au moment de l'exécution hors tu l'incrémente lors de la création. Utilise lambda pour ton command=modifier(ligne).
    Voir ici par exemple.

    @+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 9
    Par défaut
    Ok Merci pour l'éclaircissement , jvais me diriger vers cette fonction

    Merci

  4. #4
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Comme un exemple parle toujours plus :

    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
    import tkinter
     
    def modifier(mavar):
        print (mavar)
        affiche.config(text = str(mavar))
     
    fenetre = tkinter.Tk()
    affiche=tkinter.Label(fenetre, bg='white')
    affiche.grid(row=0, column=0, columnspan=3, sticky=tkinter.W+tkinter.E+tkinter.N+tkinter.S)
     
    ligne = 1
    while ligne < 5 :
        tkinter.Button(fenetre, text="modifier " + str(ligne), command=modifier(ligne)).grid(row=ligne, column=0)
        ligne += 1
    ligne1 = 1
     
    while ligne1 < 5 :
        tkinter.Button(fenetre, text="modifier " + str(ligne1), command=lambda :modifier(ligne1)).grid(row=ligne1, column=1)
        ligne1 += 1
    ligne2 = 1
     
    while ligne2 < 5 :
        tkinter.Button(fenetre, text="modifier " + str(ligne2), command=lambda ligne2=ligne2:modifier(ligne2)).grid(row=ligne2, column=2)
        ligne2 += 1
     
    fenetre.mainloop()
    Bon code

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

Discussions similaires

  1. supprimer un cookie spécifique dans une boucle
    Par olivxii dans le forum Langage
    Réponses: 2
    Dernier message: 09/01/2015, 10h13
  2. Bouton pour sortir d'une boucle
    Par Upsiløn dans le forum EDT/SwingWorker
    Réponses: 3
    Dernier message: 14/09/2014, 12h12
  3. visibilite bouton parametrable
    Par laurent1 dans le forum C#
    Réponses: 6
    Dernier message: 23/03/2012, 13h58
  4. Réponses: 2
    Dernier message: 11/05/2011, 18h37
  5. Réponses: 4
    Dernier message: 23/09/2008, 22h39

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