[Python] Pyhton checkbox changement d'état

Bonjour,
voila j'ai une liste de checkbutton sous Tkinter de ce type :

#######################################################################################
######################################################################################
def afficherTexxt():
____for (param,checkbutton) in checkButtonsValues.items():
_________print "le bouton ",param,"a comme valeur",checkbutton

#######################################################################################
#######################################################################################
i=0

checkButtonsValues = {}
parametres = np.arange(0,36)
tabchk = []
for parametre in parametres:
____var = IntVar();
____chk=Checkbutton(text = parametre , variable = var, command = afficherTexxt)
____tabchk.append(chk)
____checkButtonsValues[parametre]= var.get()

j=0
i=0
for a in tabchk:

____a.grid(row = (i-j*6)+4,column = j)
____i+=1
____if i%6==0:
_______j+=1
###########################################################################################
#######################################################################
J'ai essayer de faire ce que j'ai pu avec le topic :
http://www.commentcamarche.net/forum/affich 2207644 python recuperer valeur checkbutton

mais hélas je n'arrive pas à récupérer "le bon checkbutton" en fait quand je veux changer juste changer dans le dictionnaire "checkButtonsValues" la valeur correspondant au bon bouton ... Dire qu'il est coché pour être clair.

D'avance Merci
Configuration: Windows XP
Firefox 3.0.6

2 réponses

  1. Bon pour ceux que ça interesse, et j'en sens qu'ils sont 1 ... ^^

    j'ai fait une classe dérivée de checkbutton :

    class CheckbuttonT(Checkbutton):

    ____def getText(self):
    ________print self['text']

    ____def __init__(self,master,_parametre,_variable):
    ________Checkbutton.__init__(self, master,text = _parametre,variable = _variable,command = self.getText)

    et dans mon script principal :

    parametres = np.arange(0,36)
    tabchk = []
    var=0
    j=0
    i=0
    for parametre in parametres:
    ____chk =CheckbuttonT.CheckbuttonT(fenetre_root,parametre , _variable = 0)
    ____tabchk.append(chk)

    for a in tabchk:
    ____a.grid(row = i-j*6+4,column = j)
    ____i+=1
    ____if i%6==0:
    ________j+=1

    Le problème maintenant c'est que quand je clique sur un checkbutton , tous se cochent mais quand m'affiche bien le 'text' du bouton sur lequel j'ai cliqué.
    1. j'ai fini par y arriver :

      class CheckbuttonT(Checkbutton):
      etat = False

      def getText(self):
      if self.etat == False : self.etat = True
      else: self.etat = False
      print self['text'],self.etat

      def __init__(self,_parametre,_on ,_off):
      Checkbutton.__init__(self, text = _parametre,command = self.getText,onvalue = _on , offvalue = _off)

      ########################################################
      parametres = np.arange(0,36)
      global tabchk
      tabchk = []
      var=0
      j=0
      i=0
      for parametre in parametres:

      tabchk.append(CheckbuttonT.CheckbuttonT(parametre ,1,0))

      for a in tabchk:
      a.grid(row = i-j*6+4,column = j)
      i+=1
      if i%6==0:
      j+=1
      ###########################################################
      n=0
      dico_canal = {}
      while n < 36:
      print tabchk[n]['text'],tabchk[n].etat

      dico_canal[tabchk[n]['text'] ]= tabchk[n].etat
      n +=1

      Si ça peut aider quelqu'un un jour
      Bonne journée