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 :

pb de Tkfiledialog


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 34
    Par défaut pb de Tkfiledialog
    bonjour,
    j'ai fait un prog python qui crée uen fenetre dans laquelle je demande à l'utilisteur de saisir un fichier de maillage(qui exciste déja), il teste si c'est bien un ficheir de maillage puis il execute le programe en C qui lui correspond.
    par contre je voudrais créer uen petite fenetre qui affaicherais touts les fichiers de maillage excistant pour que l'utilistauer puisses en choisir un.j'ai essayé avec le "Tkfiledialog" mais ça n'a rien donné.
    merci d'avance pour votre aide.





    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    #!/usr/bin/env  /usr/bin/pythonw
     
    from Tkinter import *
    import os
     
    def test() :
      #get back the entry value
      fichier = entree.get()
      taille = len(fichier)
     
      #fich = open('/C/python24/ofeli/tests/tutorial/ex2/%s'%(fichier),'r')
      tkFileDialog.askopenfilename(filetypes = [("All", "*"),("fichier de maillage","*.m")]) 
     
     
      if str(fich.readline()) != '#MESH!\n' :
        print "Erreur, le nom entre n'est pas un fichier de maillage"
        entree.delete(0,taille)
      else :
        print "Vous pouvez lancer l'execution"
     
      fich.close()
     
    def run() :
      #get back the entry value
      fichier = entree.get()
     
      #execute the file with fichier for parameter
      os.system(("/C/python24/ofeli/tests/tutorial/ex2/ex2 ~/ofeli/tests/tutorial/ex2/%s"%(fichier)))
     
    #create a window
    fen = Tk()
    #the window title
    fen.title('ex2')
    #display a text
    text = Label(fen, text = 'Fichier de maillage')
    #put the text in first line first column
    text.grid()
    #cree une entree
    entree = Entry(fen)
    #put the text in first line third column
    entree.grid(row = 0, column = 2)
     
    #create a button which tests if the entered value is correct
    bouton2 = Button(fen, text = 'Test', command = test)
    #put the button in second line first column
    bouton2.grid(row = 1)
    #create a button which exexute the order when somebody clicks on "Execute"
    bouton = Button(fen, text = 'run', command = run)
    #put the button in second line second column
    bouton.grid(row = 1, column = 1)
    #create a button which closes the window when somebody clicks on "Close"
    bouton1 = Button(fen, text = 'Close', command = fen.destroy)
    #put the button in first line third column
    bouton1.grid(row = 1, column = 2)
     
    fen.mainloop()

  2. #2
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 181
    Par défaut
    Salut,

    Toutes les fonctions de dialogues de Tkinter sont fournies dans des modules séparés, mais dans ton code tu oublies d'importer le module utilisé.
    Ajoute ceci dans tes imports :

    Il y a aussi deux petites choses de travers dans ton code :
    1) la première ligne ne veut rien dire, la bonne syntaxe est :
    (utile pour les plate-formes UNIX/Linux)

    2) Tu dois affecter la valeur de retour de la fonction askopenfilename à une variable, cette valeur étant une chaîne contenant le chemin absolu du fichier.
    Note que si l'utilisateur a cliqué sur le bouton annuler, un tuple vide est renvoyé (automatiquement évalué à False dans une condition).

Discussions similaires

  1. [tkFileDialog] Modification possible?
    Par Fablord dans le forum Tkinter
    Réponses: 3
    Dernier message: 09/11/2007, 17h52
  2. récupérer le "tkFileDialog.askdirectory"
    Par santaflam dans le forum Tkinter
    Réponses: 6
    Dernier message: 17/09/2007, 13h03
  3. Réponses: 2
    Dernier message: 30/08/2007, 23h15
  4. Réponses: 1
    Dernier message: 12/03/2007, 21h36
  5. [tkFileDialog] récupération de sélection
    Par airod dans le forum Tkinter
    Réponses: 2
    Dernier message: 21/01/2006, 12h21

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