Bonjour ,
J'affiche un menu en cascade avec une liste de fichiers à inclure (Tkinter):
Donc ici je demande simplement d'ajouter le titre de tout les fichiers présents dans le dossier "fichiers" à un menu en cascade.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 for file in os.listdir('./fichiers'): menu.add_command(label=file,command=lambda:self.load(file))
Le problème c'est lorsque que je clique sur un fichier pour le charger ( grâce à ma méthode load) Il me charge toujours le dernier , je pense que la variable file dans "command=..." comme elle n'est appelé qu'a la fin du chargement elle a pour valeur sa dernière valeur transmise en locurrence le nom de mon dernier fichier et ça expliqueré mon probléme mais je me demande comment le résoudre , je pensais à crée a chaque lecture de la boucle une nouvelle variable qui contiendré la valeur de la variable actuel de la boucle de file.... C'est dur a expliquer à l'écrit j'espère que vous avez compris (je croit que c'est un cas fréquent) Pouvez-vous m'aider , merci!
J'ai mis mon topic dans 'Général Python' , mon code contient une commande Tkinter mais mon problème ne concerne pas cette commande c'est plutôt un probléme de variable ....
Partager