Problème de boutons

Résolu/Fermé
Pr.Witherfire Messages postés 79 Date d'inscription samedi 5 novembre 2022 Statut Membre Dernière intervention 25 février 2023 - 3 déc. 2022 à 11:35
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 - 3 déc. 2022 à 19:37

Bonjour.

Je voudrais changer la valeur d'une variable quand un bouton est cliqué. Bien sur, je ne peut pas faire

Bouton = Button(Fenetre, text="Hello world", command= variable=1)

J'ai donc essayé une fonction. Mais ça ne marche pas. L'interieur de la fonction est grisé mais aucuns messages d'erreur n'est affiché.

def Fonction():
    Variable=1

Bouton = Button(Fenetre, text="Hello world", command= Fonction)

Help me please

Au revoir

4 réponses

Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
3 déc. 2022 à 12:02

Bonjour,

1_ Ta variable, c'est variable ou Variable ?

les majuscules comptent, et ce n'est pas du tout la même chose

2_ Je ne suis pas sûr que ta variable soit connue à l'intérieur de ta fonction

(elle n'est pas passée en argument, et elle n'est pas non plus déclarée comme globale)

donc elle n'est pas modifiée

Tu n'as pas de message d'erreur ?

0
Pr.Witherfire Messages postés 79 Date d'inscription samedi 5 novembre 2022 Statut Membre Dernière intervention 25 février 2023
3 déc. 2022 à 16:39

Bonjour. Ma variable est variable. J'ai regardé dans le code, les noms des deux sont les mêmes. Non pas de messages d'erreur. J'ai testé en déclarant la variable avant la fonction est ça marche. Merci beaucoup.

Bonne journée au revoir

0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
3 déc. 2022 à 16:54

ok

mais assure-toi quand-même que la modif. que tu fais dans ta fonction est bien prise en compte si tu

utilise variable dans une autre fonction

Exemple: imagine un autre bouton pour afficher la valeur avec une autre fonction

variable = 0

def Fonction():
    variable=1

def aff():
    print(variable)

b1 = Button(fenetre, text="Changer variable", command= Fonction)
b1.place(x=10,y=100)

b2 = Button(fenetre, text="Afficher variable", command= aff)
b2.place(x=100,y=100)

Dans Fonction(), variable passe à 1

Mais dans aff(), elle est toujours égale à 0

0
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477
3 déc. 2022 à 19:35

sans doute plutôt

def Fonction():
    global variable
    variable=1
0
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477 > yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024
3 déc. 2022 à 19:37
variable = 0

def Fonction():
    global variable
    variable=1
    print("dans Fonction:",variable)

def aff():
    print("dans aff:",variable)
Fonction()
aff()
0
Pr.Witherfire Messages postés 79 Date d'inscription samedi 5 novembre 2022 Statut Membre Dernière intervention 25 février 2023
3 déc. 2022 à 18:09

Ok merci beaucoup. Au revoir.

0