Partage
  • Partager sur Facebook
  • Partager sur Twitter

CheckButton state does not update after click

Sujet résolu
    10 avril 2020 à 20:30:10

    Hello,

    I'm trying to use a CheckButton called case0, all this code is included in a class (hence the self prefixes).

    My problem is that the line "self.checkVar.get()" does'nt return the state of the checkbutton.

    It returns 0 whatever I do (even if I change the on/off values of the checkbutton).

    def pop_up_search(self):
            self.fen1=Tk()
            
            self.but3=Button(self.fen1,text='Annuler', command=self.fen1.quit)
            self.but3.grid(column=3 , row=2 )
            
            self.but4=Button(self.fen1,text='Search', command= self.search)
            self.but4.grid(column=0 , row=2 )
            
            self.entry0=Entry(self.fen1,text='Nom du site')
            self.entry0.grid(column=1 , row=0 , columnspan=2 )
            
            self.text0=Label(self.fen1,text='Nom du site')
            self.text0.grid(column=0, row=0 )
            
            self.checkVar=IntVar()
            self.case0=Checkbutton(self.fen1, text='Tout voir ?', variable=self.checkVar, onvalue=1, offvalue=0)
            self.case0.grid(column=1,row=1)
            
            
            self.fen1.mainloop()
            self.fen1.destroy()
            
        def search(self):
            self.nom=self.entry0.get()
            if self.nom=='' and checkVar.get() ==0:
                self.text1=Label(self.fen1,text='Remplir le nom du site')
                self.text1.grid(column=1 , row=2 , columnspan=2)
                
                return
            
            self.commit_search(self.nom)
            self.fen1.quit()



    -
    Edité par corentinAulagnet 10 avril 2020 à 20:32:11

    • Partager sur Facebook
    • Partager sur Twitter
      10 avril 2020 à 20:36:20

      Put variable self.checkVar in __init__ method
      • Partager sur Facebook
      • Partager sur Twitter

      Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
      La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

        10 avril 2020 à 20:38:59

        Bonjour,

        Déplacement vers un forum plus approprié

        Le sujet est déplacé de la section Langage Python vers la section Let's talk!

        • Partager sur Facebook
        • Partager sur Twitter
          10 avril 2020 à 21:37:55

          fred1599 a écrit:

          Put variable self.checkVar in __init__ method


          It does not solve the problem, could it be a problem caused by the CheckButton class ?

          -
          Edité par corentinAulagnet 10 avril 2020 à 21:38:21

          • Partager sur Facebook
          • Partager sur Twitter
            10 avril 2020 à 21:46:17

            Do not use multiple instances of Tk, use Toplevel instances.
            • Partager sur Facebook
            • Partager sur Twitter

            Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
            La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

              11 avril 2020 à 12:27:24

              fred1599 a écrit:

              Do not use multiple instances of Tk, use Toplevel instances.

              Thank you very much, the multiple instances of Tk were the problem. However, I have another question : can I put the Toplevel instances in a different class ? Do I have to use inheritance ?  

              • Partager sur Facebook
              • Partager sur Twitter
                11 avril 2020 à 12:54:58

                everything is possible
                • Partager sur Facebook
                • Partager sur Twitter

                Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
                La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

                CheckButton state does not update after click

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown