Partage
  • Partager sur Facebook
  • Partager sur Twitter

Variable pas reconnue

Besoin d'aide pour qu'elle soit reconnue

    22 mai 2019 à 21:15:32

    Bonsoir,

    Voici mon code. Je comprends pas pourquoi lorsque je l’effectue, il y a marqué que Fenetre_personnalisation n'est pas définie. (mon code n'est pas entier ici)

    #Fonction personnalisation
    def Personnalisation():
        Fenetre_personnalisation = tkinter.Tk()
        Fenetre_personnalisation.title("Fenêtre raccourcis")
        Fenetre_personnalisation.geometry("700x400")
        Fenetre_personnalisation.configure(bg = "gainsboro")
        Bouton_choix_couleur=tkinter.Button(Fenetre_personnalisation, text="Sélectionner une couleur", command = Choix_couleur , bg="azure3")
        Bouton_choix_couleur.place(x=50, y=120, width=200, height=60)
        
    #Fonction choix de la couleur
    def Choix_couleur():
        couleur = askcolor()
        print(couleur)
        couleur1 = couleur[1]
        print(couleur1)
        if not couleur == ("None, None"):
            Fenetre_accueil.configure(bg = couleur1)
            Fenetre_personnalisation.configure(bg = couleur1)

    Je précise que la fenetre Fenetre_accueil n'est pas dans une fonction et le programme la reconnait

    Merci d'avance

    -
    Edité par BenjaminKalfa1 22 mai 2019 à 21:16:35

    • Partager sur Facebook
    • Partager sur Twitter
      22 mai 2019 à 21:28:59

      Les variables définies dans une fonction ne sont accessibles que dans cette fonction.
      • Partager sur Facebook
      • Partager sur Twitter
        22 mai 2019 à 21:30:18

        Ah d'accord merci, mais du coup comment je peux faire pour que la deuxieme fonction reconnaisse des variables de la premiere fonction ?
        • Partager sur Facebook
        • Partager sur Twitter
          22 mai 2019 à 22:39:55

          Ajoute des paramètres à tes fonctions, ou mieux utilise des classes
          • Partager sur Facebook
          • Partager sur Twitter
            22 mai 2019 à 22:41:51

            J'ai jamais pigé pourquoi certain s'obstine à mettre l'instance Tk dans une fonction alors que c'est le cœur du programme et que tôt ou tard elle sera utilisée, alors, autant la mettre dès le début et on n'en parle plus. En plus en lisant ta dernière phrase de ton premier message, je sens qu'il y a au moins une autre instance Tk, si c'est le cas, bon courage au débogage.

            • Partager sur Facebook
            • Partager sur Twitter
              22 mai 2019 à 23:20:49

              Le Cobriste 128 a écrit:

              J'ai jamais pigé pourquoi certain s'obstine à mettre l'instance Tk dans une fonction alors que c'est le cœur du programme et que tôt ou tard elle sera utilisée, alors, autant la mettre dès le début et on n'en parle plus. En plus en lisant ta dernière phrase de ton premier message, je sens qu'il y a au moins une autre instance Tk, si c'est le cas, bon courage au débogage.


              Oui je suis d'accord mais le problème est que j'associe mes boutons à une ouverture de fenêtres. Comment peut-on ouvrir une fenetre avec un bouton sans fonction ?
              • Partager sur Facebook
              • Partager sur Twitter
                23 mai 2019 à 0:10:15

                Aussi on peut définir une fonction dans une fonction ...
                • Partager sur Facebook
                • Partager sur Twitter
                  23 mai 2019 à 0:21:54

                  C'est à dire que mes deux fonctions je les mets dans une grande fonction avec un return ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    23 mai 2019 à 7:20:17

                    ménon

                    #Fonction personnalisation
                    def Personnalisation():
                    
                        Fenetre_personnalisation = tkinter.Tk()
                    
                        #Fonction choix de la couleur
                        def Choix_couleur():
                            couleur = askcolor()
                            print(couleur)
                            couleur1 = couleur[1]
                            print(couleur1)
                            if not couleur == ("None, None"):
                                Fenetre_accueil.configure(bg = couleur1)
                                Fenetre_personnalisation.configure(bg = couleur1)
                    
                        
                        Fenetre_personnalisation.title("Fenêtre raccourcis")
                        Fenetre_personnalisation.geometry("700x400")
                        Fenetre_personnalisation.configure(bg = "gainsboro")
                        Bouton_choix_couleur=tkinter.Button(Fenetre_personnalisation, text="Sélectionner une couleur", command = Choix_couleur , bg="azure3")
                        Bouton_choix_couleur.place(x=50, y=120, width=200, height=60)
                         
                    


                    Mais bon c'est plutôt moche à côté des autres propositions

                    -
                    Edité par thelinekioubeur 23 mai 2019 à 7:21:19

                    • Partager sur Facebook
                    • Partager sur Twitter
                      23 mai 2019 à 9:40:26

                      Ah d'accord je vais essayer de tout mettre dans un fonction, je vous dit si ça marche. Merci beaucoup

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Variable pas reconnue

                      × 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