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 :

Charger un fichier


Sujet :

Tkinter Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Points : 34
    Points
    34
    Par défaut Charger un fichier
    Salut,

    Tite question. J'ai fais un test pour comprendre comment récupérer un nom de fichier pour être utilisable ensuite. Le but est qu'une fois séléctionné, je vais faire un entry qui récupérera le nom de fichier récupéré. Et c cette dernière étape que je ne sais pas encore comment faire. Voilà le début de mon programme test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    loadfen=Tk()
    boutonload=Button(loadfen,text='load file',command=askopenfilename)
    boutonload.grid(row=0,column=0,padx=3,pady=3)
    loadfen.mainloop()

  2. #2
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Je vais légèrement plus loin que ta question mais j'en profite pour y glisser quelques notes.

    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
    import Tkinter
    from tkFileDialog import askopenfilename
     
    def ouvrirfich():
        # Pas besoin d'écrire tkFileDialog.askopenfilename
        # puisque l'import est sous la forme from tkFileDialog import askopenfilename
        nomfichier=askopenfilename()
        # ouverture du fichier nomfichier avec pour nom local openfile
        with open(nomfichier) as openfile:
            # lecture du fichier
            for lignes in openfile:
                # On rajoute chaque 'lignes' dans le Widget Tkinter Text
                affiche.insert(Tkinter.END, lignes)
     
    # Tkinter. car import Tkinter. Je te conseille de commencer à t'habituer à ce genre d'import
    # from Tkinter import * est source à problème
    loadfen=Tkinter.Tk()
    # Pour afficher le fichier
    affiche=Tkinter.Text(loadfen, bg='white')
    # columnspan=2 affiche sur les deux colonnes
    affiche.grid(row=0, column=0, columnspan=2)
    # Pas besoin de nommer un Widget si tu n'as pas besoin de son nom après.
    # command lance la fonction ouvrirfich()
    Tkinter.Button(loadfen, text='load file', command=ouvrirfich).grid(row=1, column=0)
    Tkinter.Button(loadfen, text='quit', command=quit).grid(row=1, column=1)
    loadfen.mainloop()
    Tu vas vite te rendre code que sans un minimum de Python tu n'arrive a rien avec Tkinter. Pense à suivre un tuto.

    Bonne découverte et @+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Points : 34
    Points
    34
    Par défaut Reformulation
    Salut,

    En fait j'ai mal posé la question. Je pense ce que je veux faire est plus simple. Je veux juste faire apparaitre le nom de fichier, pas le contenu dans l'entry. Je veux démarrer sur un fichier de configuration que l'utilisateur pourra choisir et mon programme démarrera sur les infos contenues dans le fichier. Dans le nouvel exemple que je donne ci dessous, quand l'utilisateur aura choisit son fichier avec 'load file', le nom de fichier apparaitra dans l'entry à droite. Ensuite, quand l'utilisateur cliquera sur 'Next', la suite de l'application arrivera mais aussi le nom du fichier sera récupérer afin de savoir quel fichier de configuration utiliser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    from Tkinter import *
    from tkFileDialog import askopenfilename
     
    fen1=Tk()
    boutonload=Button(fen1,text='load file',command=askopenfilename)
    boutonload.grid(row=0,column=0,padx=3,pady=3)
    entryaremplir=Entry(fen1)
    entryaremplir.grid(row=0,column=1,padx=3,pady=3)
    boutonsauvegarde=Button(fen1,text='Next')
    boutonsauvegarde.grid(row=1,column=0,padx=3,pady=3)
    fen1.mainloop()
    En fait, j'ai une application pour l'instant qui utilise par défaut un fichier 'config.dat', maintenant, je veux laisser à l'utilisateur le choix du fichier qu'il utilisera. Note : J'utilise encore from Tkinter import *, sinon il n'arrive pas à me trouver le module Tkinter, faut que je vois ça bientôt.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Points : 34
    Points
    34
    Par défaut Trouvé
    Salut,

    Juste pour dire que j'ai trouvé comment faire, c simple, j'ai fais une fonction avec un nomdelentry.insert(0,nomfichier), ensuite, quand je sors de la fenetre, je lui demande de récupérer la valeur de l'entry qui est le nom de fichier et c bon. Merci quand même pour le 1er exemple, il pourrait aussi m'être utile plus tard.

    A bientôt

  5. #5
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Citation Envoyé par nicogigo Voir le message
    quand je sors de la fenetre, je lui demande de récupérer la valeur de l'entry qui est le nom de fichier et c bon.
    N'est il pas plus simple d'utiliser nomfichier directement ?
    De plus attention en cas d'erreur (exemple : fermeture de la fenêtre askopenfilename sans sélection). Je te laisse regarder dans se cas de figure.

    Bon code

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

Discussions similaires

  1. [JDOM] Charger un fichier.xml
    Par Glutinus dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 03/08/2005, 15h46
  2. [Forms6i] Comment charger les fichiers du client ?
    Par patmaba dans le forum Forms
    Réponses: 10
    Dernier message: 31/01/2005, 16h17
  3. Charger des fichiers d'un repertoire
    Par demanghonj dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 05/01/2005, 17h23
  4. [Dexplore] Comment charger des fichiers d'aide ?
    Par Laurent Dardenne dans le forum Windows
    Réponses: 5
    Dernier message: 04/01/2005, 17h38
  5. [TP]Charger un fichier bmp
    Par flavien tetart dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 30/06/2002, 19h04

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