Fonctions appelées par menu tkinter et définies par une liste de fichiers
Bonjour,
Je voudrais intégré à mon application une fonction permettant d'ouvrir un fichier récent. Pour cela j'ai écrit ce code mais le problème est que la fonction appelée par chacun des menu est toujours la même, en l'occurrence la fonction du dernier menu créé.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| from tkinter import *
import os
### Création du dossier Fichiers récents ###
try:
os.mkdir('FichiersRecents')
for i in range(5):
open("FichiersRecents/Fichier "+str(i)+".txt",'w')
except:
print('Le dossier existe dèjà')
##########################################
def Ouvrir(path):
print(path)
fen = Tk()
menubar = Menu(fen)
fen.config(menu=menubar)
menu_fichier = Menu(menubar, tearoff=0)
sousmenu_ouvrir = Menu(menu_fichier, tearoff=0)
menubar.add_cascade(label="Fichier", menu=menu_fichier)
menu_fichier.add_cascade(label="Ouvrir un fichier récent...", menu = sousmenu_ouvrir)
for RecentFile in os.listdir('FichiersRecents'):
sousmenu_ouvrir.add_command(label=RecentFile, command=lambda: Ouvrir('FichiersRecents/'+RecentFile)) |