enzo_8226
Messages postés10Date d'inscriptionsamedi 24 avril 2021StatutMembreDernière intervention26 avril 2021
-
24 avril 2021 à 19:38
enzo_8226
Messages postés10Date d'inscriptionsamedi 24 avril 2021StatutMembreDernière intervention26 avril 2021
-
25 avril 2021 à 08:53
Bonjour, Je j'ai créé une fonction qui me renvoie x=1 et je souhaiterais l'activer lorsqu'on appuie sur entrée comme ceci:
___________________________________________
class Comencer(Texte):
def init(self,canvas):
def debut_de_partie(self,evt):
self.cacher(canvas)
x=1
return x
______________________________________
Comment récupérer la variable x lorsqu'on appuie sur "entrée" ?
J'ai essayé ces méthodes qui n’ont pas fonctionnées:
1)x=self.canvas.bind_all('<KeyPress-Return>', self.debut_de_partie)
résultat : me donne une suite de chiffre incohérent au lieu de me donner 1, même lorsque j'appuie sur entrée.
2)self.canvas.bind_all('<KeyPress-Return>', x=self.debut_de_partie)
résultat, une erreur s'affiche : unexpected keyword argument "x"
Comment faire pour récupérer la variable x de la fonction début_de_partie en appuyant sur entrée?
Dans votre programme quelle variable est sensée récupérer la valeur du x ?
À moins que x soit la variable à modifier et qu'il faille la déclarer en global dans la fonction où elle est modifiée (debut_de_partie).
Dans cette fonction, l'argument à passer est event et non evt : debut_de_partie(self, event)
enzo_8226
Messages postés10Date d'inscriptionsamedi 24 avril 2021StatutMembreDernière intervention26 avril 20211 Modifié le 24 avril 2021 à 23:14
ok je reposte mon code
class Comencer(Texte):
def init(self,canvas):
self.canvas.bind_all('<KeyPress-Return>',self.debut_de_partie)
def debut_de_partie(self,evt):
self.cacher(canvas)
x=1
return x
Bind_all et keypress-return c'est la fonction telle qu'elle est décrite dans mon livre de python. Je débute encore, est ce que vraiment y a une différence dans cette problématique?
J'aimerais juste récuperer le x de la 2ème fonction en appuyant sur entrée
enzo_8226
Messages postés10Date d'inscriptionsamedi 24 avril 2021StatutMembreDernière intervention26 avril 20211 25 avril 2021 à 08:53
merci, grâce a toi, j'ai réussit a faire fonctionner mon programme, j'ai changé l'argument evt par event et j'ai déclaré la variable x comme globale a l’intérieure de la fonction au lieu d'essayer de la récupérer depuis l’extérieur. Par contre si on met juste Bind() au lieu de Bind_all() rien ne se passe, Met bon j'ai réussit ce que je voulais faire.
class Comencer(Texte):
def init(self,canvas):
self.canvas.bind_all('<KeyPress-Return>',self.debut_de_partie)
def debut_de_partie(self,event):
self.cacher(canvas)
global x
x=1
print(' x = ', x)