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 :

Cocher tous les checkbutton


Sujet :

Python

  1. #1
    Membre averti
    Inscrit en
    Avril 2013
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 44
    Par défaut Cocher tous les checkbutton
    Bonjour, étant plutôt novice en Python, j'ai quelques soucis avec l'utilisation d'un checkbutton "Sélectionner tout".
    Je crée un nombre de checkbutton, chacun correspondant à un serveur en ligne (cb étant un dictionnaire contenant des variables checkbox):
    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
     
    v=1
    for serv in lstserv:
       lstserv[serv] = IntVar()
       ping = os.system("ping -n 1 "+serv+" | find "+'"Impossible"')
       if ping:
          checkbox = cb[v]
          checkbox = Checkbutton(self, text = "           "+serv, variable = lstserv[serv],width=30, onvalue = 1, offvalue = 0,anchor=W) #création checkbox
          text.window_create("end", window=checkbox)
          label = Label(self, text= socket.gethostbyname(serv),anchor=W) #création label
          text.window_create("end", window=label)
          text.insert("end", "\n")#force une checkbox et un label par ligne
          lstservon.insert(v,serv) #insère le nom du serveur à la position v dans la liste lstservon
          var.insert(v,lstserv[serv])
          v = v+1
    A la fin de cette boucle je crée mon checkbutton sélectionner tout et appelle la fonction SelectAll lors de l'appuie sur ce checkbutton, qui est censée selectionner tous les checkbutton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    cbgene = Checkbutton(self, text = "           Tout sélectionner",variable= cbgenevar,width=30,anchor=W,command=SelectAll)
     
    def SelectAll():
        global v
        global c
        global checkbox
        global cb
        global cbgenevar
        if cbgenevar.get():
            v=1
            while v < c:
                checkbox = cb[v]
                checkbox.select()
                v = v + 1
    Si quelqu'un pouvait m'éclairer sur ma ou mes erreurs, j'en serai ravi, j'avoue que je m'arrache les cheveux dessus depuis 2 ou 3 jours sans trouver de solution..

    Merci d'avance =)

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    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 060
    Par défaut
    La méthode select ne fonctionne pas?

    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
    from tkinter import *
     
    def selection_all(list_check):
        for c in list_check:
            c.select()
     
    root = Tk()
     
    list_check = []
     
    for i in range(3):
        check = Checkbutton(root, text='check n°{}'.format(i))
        check.pack()
        list_check.append(check)
     
    ch = Checkbutton(root, text="select all", command=lambda:selection_all(list_check))
    ch.pack()
     
    root.mainloop()

  3. #3
    Membre averti
    Inscrit en
    Avril 2013
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 44
    Par défaut
    Bon ba effectivement en remplaçant ma fonction par la tienne, ca marche impéc, merci beaucoup !

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

Discussions similaires

  1. cocher tous les noeuds d'un Treeview
    Par Smix007 dans le forum VB.NET
    Réponses: 3
    Dernier message: 01/11/2009, 18h02
  2. [Grand Débutant] Un checkbox pour cocher tous les checkbox
    Par whitespirit dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/06/2008, 12h11
  3. cocher tous les checkbox en meme temps et un peu de php
    Par logone dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/10/2007, 09h19
  4. Réponses: 2
    Dernier message: 14/09/2006, 14h24
  5. Réponses: 2
    Dernier message: 05/09/2006, 11h24

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