Problème Code Python

Fermé
Jul - 11 févr. 2009 à 22:17
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 16 févr. 2009 à 11:45
Bonjour,

En fait je débute en python, et j'ai une erreur que je n'arrive pas à corriger! J'ai fait un petit programme qui (j'aimerais bien qu'il le fasse) est fait d'une fenêtre qui contient un bouton (jusque là ça va) mais ensuite je voudrais que quand je clique sur le bouton, une fenêtre qui me permette de sélectionner un fichier texte s'ouvre, et que lorsque j'ai sélectionné ce fichier, le contenu du fichier s'affiche en dessous du bouton... Mais cette dernière étape ne marche pas :( je vous montre le code... en espérant qu'une erreur vous saute aux yeux... c'est peut-être très bête je ne maitrise pas encore très bien le python.

from Tkinter import *
from tkFileDialog import askopenfile
from tkMessageBox import showerror

fenetre = Tk(className='Petite fenetre')
zoneTexte = Label(fenetre, text='Coucou monde!', fg='blue')
zoneTexte.pack()

def filereader():
lien = askopenfile

if not lien:
showerror(title='Attention!', message='Une erreur s\'est produite')
else:
file = open(lien)
zoneAffichage = Label(fenetre, text= (line for line in file), fg='green')
zoneAffichage.pack()

bouton = Button(fenetre, text='Choisir un fichier', fg='red', command= filereader())

bouton.pack()
fenetre.geometry('600x600')
fenetre.mainloop()


Merci d'avance à toute personne qui pourra m'aider!
A voir également:

3 réponses

L'indentation n'est pas passée, je redonne le code:

from Tkinter import *
from tkFileDialog import askopenfile
from tkMessageBox import showerror

fenetre = Tk(className='Petite fenetre')
zoneTexte = Label(fenetre, text='Coucou monde!', fg='blue')
zoneTexte.pack()

def filereader():
---lien = askopenfile

---if not lien:
------showerror(title='Attention!', message='Une erreur s\'est produite')
---else:
------file = open(lien)
------zoneAffichage = Label(fenetre, text= (line for line in file), fg='green')
------zoneAffichage.pack()

bouton = Button(fenetre, text='Choisir un fichier', fg='red', command= filereader())

bouton.pack()
fenetre.geometry('600x600')
fenetre.mainloop()
0
Personne ne sait m'aider?
svp...
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
16 févr. 2009 à 11:45
C'est normal: tu n'a pas créé de variable pour accéder au texte de ton Label (StringVar).

Voir ce tuto:
https://sebsauvage.net/python/gui/index_fr.html

en particulier comment modifier un label:
https://sebsauvage.net/python/gui/index_fr.html#change_label
0