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 fichier


Sujet :

Tkinter Python

  1. #1
    Nouveau membre du Club
    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
    Points : 27
    Points
    27
    Par défaut pb de fichier
    salut tout le monde,
    j'essaye de faire un programme en utilisant des classes.
    j'ai un probleme au niveau des fonctions de la classe Application.
    je sais pas si j'ai bien coder la fonction test().
    si vous pouvez m'aider svp.
    merci d'avance pour vos reponses.
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    from Tkinter import*
    import os
    from tkFileDialog import askopenfilename
     
     
    class MenuBar(Frame):
    	def __init__(self, boss =None):
    		Frame.__init__(self, borderwidth=2)
    		E_1=Entry(self)
    		E_1.pack(pady=2)
     
    		##### menue <COMMANDES> ############
     
    		fileMenu = Menubutton(self , text = 'COMMANDES')
    		fileMenu.pack(side=LEFT)
     
    		me1= Menu(fileMenu)
    		me1.add_command(label ='Open', underline =0, command = boss.ouvrir)
    		me1.add_command(label ='Test', underline =0, command = boss.test)
    		me1.add_command(label ='Run', underline =0, command = boss.run)
    		me1.add_command(label = 'Close', underline =0, command = boss.quit)
     
    		fileMenu.configure(menu = me1)
     
    class Application(Frame):
     
    	def __init__(self, boss =None):
    		Frame.__init__(self)
     
    		self.master.title('resolution exercice 2')
    		mBar = MenuBar(self)
    		mBar.pack()
    		#self.can = Canvas(self, bg='dark grey',height=190, width=250, borderwidth= 2)
    		#self.can.pack()
    		#self.pack()
     
    	def ouvrir(name):
    		name = askopenfilename(filetypes = [("All", "*"),("ex2","*.m;*.c;*.txt")])
    		# si  l'utilisateur a bien sélectionner un fichier
    		if name:
    			try:
    				fichier = open(name, "r")
    			except IOError:
    					print "Error,this file can not be opened !"
    			else:
    					print " This file can be opened"
    					fichier.close()
    		# si l'utilisateur à cliquer sur annuler
    		else:
    			print "No file selected !"
     
     
    	def test(E_1) :
    		#E_1=Entry(self)
    		#E_1.pack(pady=2)
    		fichier = E_1#.get()
    		taille = os.path.getsize(fichier)
    		#taille=len(fichier)
     
    		fich = open("%s"%(fichier),'r')
    		if str(fich.readline()) != '#MESH!\n' :
    			print "Error,this file is not a mesh file !"
    			entree.delete(0,taille)
    		else :
    			print "You can execute"
     
    		fich.close()
     
    	def run(fichier) :
    		fichier = entree.get()
    		os.system(("C:/python24/projet/ofeli/bin/ex2 %s"%(fichier)))
     
    if __name__ == '__main__':
    	app = Application()
     
    	app.mainloop()

  2. #2
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Bonjour,

    les méthodes attendent l'instance de la classe (par convention self) en premier argument:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #def ouvrir(name)
    def ouvrir(self, name)
    D'ailleurs tu demandes un argument name pour cette méthode et tu ne t'en sers pas, tu peux essayer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def ouvrir(self, name):
        name = askopenfilename(filetypes = [("All", "*"),("ex2","*.m;*.c;*.txt")]) \
            or name
    Ainsi si askopenfilename te renvoie un None, ta variable name prendra comme valeur l'argument passé à ta méthode.
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  3. #3
    Nouveau membre du Club
    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
    Points : 27
    Points
    27
    Par défaut
    j'ai essayé ce que tu m'avais dit "pacificator" mais ça marche pas.
    avant ma fonction ouvrir() marchait bien alors que là ça me met que la fonction prend deux agruments et que j'en ai definit qu'un.

    merci comme même

  4. #4
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Le premier argument passé implicitement à la méthode est l'instance de la classe , self par convention.
    Je te conseille de consulter ce tutoriel, chapitre 12.

    Bonne lecture.
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

Discussions similaires

  1. fichier mappé en mémoire
    Par WinBernardo dans le forum Delphi
    Réponses: 7
    Dernier message: 01/12/2006, 09h38
  2. Réponses: 5
    Dernier message: 20/08/2002, 18h01
  3. Lire 1 bit d'un fichier en C
    Par Anonymous dans le forum C
    Réponses: 3
    Dernier message: 23/05/2002, 18h31
  4. Comparer des fichiers de données : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 24/04/2002, 22h37
  5. Fichier PDOXUSRS.NET
    Par yannick dans le forum Paradox
    Réponses: 5
    Dernier message: 05/04/2002, 09h45

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