IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Fonctions appelées par menu tkinter et définies par une liste de fichiers [Python 3.X]


Sujet :

Tkinter Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 8
    Points : 6
    Points
    6
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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))

  2. #2
    Membre confirmé

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Points : 503
    Points
    503
    Billets dans le blog
    1
    Par défaut
    Salut.

    Consulte la FAQ du site.
    Le temps ronge l'amour comme l'acide.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci bistouille, je ne connaissait pas cette technique ça marche nikel !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/01/2009, 15h58
  2. Erreur Type défini par l'utilisateur non défini
    Par michaellynx dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 28/11/2008, 10h58
  3. Type défini par l'utilisateur non Défini
    Par jarault dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/04/2008, 07h53
  4. Réponses: 2
    Dernier message: 31/07/2007, 15h05
  5. Message erreur Type défini par l'utilisateur non défini
    Par Michel DELAVAL dans le forum Access
    Réponses: 2
    Dernier message: 27/06/2006, 16h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo