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 :

Récupération de valeur de CheckButtons [Python 3.X]


Sujet :

Tkinter Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Terminal S-SI
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Terminal S-SI

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Récupération de valeur de CheckButtons
    Bonjour et merci de prendre le temps de m'aider, dans le cadre de mon projet d'isn, je dois réaliser un programme mais malheureusement et pour une raison qui m'est inconnue, mon programme fonctionne sur certain pc mais pas sur d'autre, mon programme étant asser grand j'ai du découper certains partit.

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    from tkinter import *
    import time 
    from tkinter.messagebox import *
     
    def NbsJ():
     
        global Lun
        global Mar
        global Mer
        global Jeu
        global Ven
        global Sam
        global Dim
     
        global Semaine
        Semaine=[IntVar(),IntVar(),IntVar(),IntVar(),IntVar(),IntVar(),IntVar()]
     
        jours=["Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche"]
     
        Lun=Checkbutton(F4, text=jours[0] , variable=Semaine[0], onvalue=1, offvalue=0, command=Semaine_Calc)
        Lun.pack(side=LEFT, expand="yes", fill="both")
     
        Mar=Checkbutton(F4, text=jours[1] , variable=Semaine[1], onvalue=1, offvalue=0, command=Semaine_Calc)
        Mar.pack(side=LEFT, expand="yes", fill="both")
     
        Mer=Checkbutton(F4, text=jours[2] , variable=Semaine[2], onvalue=1, offvalue=0, command=Semaine_Calc)
        Mer.pack(side=LEFT, expand="yes", fill="both")
     
        Jeu=Checkbutton(F4, text=jours[3] , variable=Semaine[3], onvalue=1, offvalue=0, command=Semaine_Calc)
        Jeu.pack(side=LEFT, expand="yes", fill="both")
     
        Ven=Checkbutton(F4, text=jours[4] , variable=Semaine[4], onvalue=1, offvalue=0, command=Semaine_Calc)
        Ven.pack(side=LEFT, expand="yes", fill="both")
     
        Sam=Checkbutton(F4, text=jours[5] , variable=Semaine[5], onvalue=1, offvalue=0, command=Semaine_Calc)
        Sam.pack(side=LEFT, expand="yes", fill="both")
     
        Dim=Checkbutton(F4, text=jours[6] , variable=Semaine[6], onvalue=1, offvalue=0, command=Semaine_Calc)
        Dim.pack(side=LEFT, expand="yes", fill="both")
     
     
    def Semaine_Calc():
     
     
     
        global Lun
        global Mar
        global Mer
        global Jeu
        global Ven
        global Sam
        global Dim
        global Semaine
        global t
     
     
        SemaineCalc=(Semaine[0].get()+Semaine[1].get()+ Semaine[2].get()+Semaine[3].get()+Semaine[4].get()+Semaine[5].get()+Semaine[6].get())
        SemaineCalc2=[Semaine[0].get(), Semaine[1].get(), Semaine[2].get(), Semaine[3].get(), Semaine[4].get(), Semaine[5].get(), Semaine[6].get()]
        Jour=[Lun, Mar, Mer, Jeu, Ven, Sam, Dim]
     
        print(SemaineCalc)
     
     
        n=0
        o=0
        a=0
     
        if SemaineCalc==t:
     
            while n<7:
     
                if SemaineCalc2[n]==0:
                    Jour[a].pack_forget()
                    n=n+1
                    a=a+1
                    print(n)
                    print(a)
                else:
                    o=o+1
                    print(o)
                    n=n+1
                    a=a+1
     
     
     
        else:
            print("nope")
    Explication : Sur certains ordinateur, lorsque je sélectionne un checkbuttons, la variable SemaineCalc est bien égale à 1, lorsque j'en sélectionne deux checkbuttons la valeur est égale à deux..ect mais sur mon pc la valeur de SemaineCalc reste à 0 et je ne sais pas pourquoi, pourtant il s'agit de la même version que sur l'autre pc ou les valeurs s'additionne.
    Merci de bien vouloir m'aider à résoudre ce probleme, cordialement Mister_Chafouin

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Salut,

    Ligne 17, remplacez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Semaine=[IntVar(),IntVar(),IntVar(),IntVar(),IntVar(),IntVar(),IntVar()]
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Semaine=[IntVar(master=F4),IntVar(master=F4),IntVar(master=F4),IntVar(master=F4),
                    IntVar(master=F4),IntVar(master=F4),IntVar(master=F4)]
    et on en reparle en fonction du résultat.

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

  3. #3
    Candidat au Club
    Homme Profil pro
    Terminal S-SI
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Terminal S-SI

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup, en effet maintenant ça marche parfaitement mais pourrait tu m'expliquer s'il te plait en quoi ça change de mettre "master=F4"

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 778
    Points
    36 778
    Par défaut
    Citation Envoyé par Mister_Chafouin Voir le message
    Merci beaucoup, en effet maintenant ça marche parfaitement mais pourrait tu m'expliquer s'il te plait en quoi ça change de mettre "master=F4"
    Sans master=F4, les variables sont créées dans l'espace de noms TCL/Tk "par défaut" alors que les CheckButton sont créées dans celui associé à F4. Les 2 étant différents, c'est comme si la variable associée au check button n'existait pas.
    Normalement, cela arrive lorsqu'on crée plusieurs instances de TCL/Tk via des appels répétés à Tk() qui fait beaucoup plus que créer une fenêtre principale. Normalement, il ne faut avoir qu'un seul Tk() et remplacer les suivant par Toplevel(). Mais si ce n'est pas votre code qui fait çà, c'est probablement parce que vous le lancez depuis un IDE particulier.
    note: lancer un script Python, c'est ouvrir une console et exécuter la commande "python monscript.py". Dès que vous sortez de ce cadre là, l'environnement/le contexte peut vous jouer de tours;

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

  5. #5
    Candidat au Club
    Homme Profil pro
    Terminal S-SI
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Terminal S-SI

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup pour l'explication, je comprend beaucoup mieux maintenant et merci d'avoir prit le temps de m'aider.
    Bonne continuation, Mister_Chafouin

    Sujet: Résolu

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

Discussions similaires

  1. [checkbox] Récupération des valeurs de checkbox
    Par chng001 dans le forum Struts 1
    Réponses: 13
    Dernier message: 07/09/2009, 20h31
  2. [struts] [checkbox] récupération des valeurs cochées
    Par abourell dans le forum Struts 1
    Réponses: 16
    Dernier message: 10/06/2005, 20h58
  3. Réponses: 8
    Dernier message: 09/03/2005, 10h47
  4. récupération de valeur de lien
    Par sex-sansbol dans le forum ASP
    Réponses: 3
    Dernier message: 07/06/2004, 10h43
  5. Récupération de valeurs d'un tableau
    Par leeloo076 dans le forum ASP
    Réponses: 12
    Dernier message: 25/03/2004, 10h59

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