Bouton python

Résolu
Bonjour,

Quand je crée un bouton dans une class l'argument "command" se déclenche a la création du bouton et pas a l'appui du bouton
Quelqu'un sait pourquoi?
Merci d'avance

3 réponses

  1. Voici mon code (un extrait)
    C'est un générateur d'exercices de math que je code pour ma mère et là c'est le début de la partie interface

    class Interface_globale(Générateur_exercices_global):
        """Interface globale pour chaque catégorie"""
        
        def __init__(self):
            Générateur_exercices_global.__init__(self)
        
        
        def interface_initiale(self):
            for y in root.winfo_children():
                y.destroy()
            root.pack_propagate(0)
            self.titre=tk.Label(root,text="Exercices à part",bg="blue",font=("arial",30,"bold italic")).pack(padx=60,pady=40)
            self.bouton_comparaison=tk.Button(root,text="Comparaison",width=40,height=2,command=Interface_ciblée_exos_globaux.interface_comparaison(self)).pack()
        
        
    class Interface_ciblée_exos_globaux(Interface_globale):
        """ Interface pour les exos à part """
        
        
         
        def __init__(self):
            Interface_globale.__init__(self)
            
        def interface_comparaison(self):
            print("test")
    1. Contributeur
      quand on utilises les balises de code, il faut spécifier de quel langage il s'agit...
    2. Contributeur
      un extrait partiel ne permet pas toujours de se faire une idée.
      il est préférable de simplifier le code afin de pourvoir partager l'ensemble d'un code qui montre le soucis.
    3. Contributeur
      @yg_beje suppose que le soucis est ici:
      command=Interface_ciblée_exos_globaux.interface_comparaison(self)
      , qui provoque l'appel de
      Interface_ciblée_exos_globaux.interface_comparaison
      .
    4. @yg_beJ'ai mis que cet extrait car le reste du code n'a aucun rapport avec ca.
      Et le fait que la
      command=Interface_ciblée_exos_globaux.interface_comparaison(self)
      appel
      Interface_ciblée_exos_globaux.interface_comparaison
      est justement mon problème.
      command=Interface_ciblée_exos_globaux.interface_comparaison(self)
      est un argument, option du bouton qui est sensé se déclencher à l'appui du bouton, sauf qu'il se déclenche directement
    5. Contributeur
      @Kilton937342as-tu essayé
      command=Interface_ciblée_exos_globaux.interface_comparaison
      ?
  2. la fin du code est pour test
    et quand je lance et que j'appelle la première class le code appelle la methode test au moment ou il défini le boutons_comparaison