Problème Code Python

Jul -  
sebsauvage Messages postés 33415 Statut Modérateur -
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

Jul
 
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
Jul
 
Personne ne sait m'aider?
svp...
0
sebsauvage Messages postés 33415 Statut Modérateur 15 663
 
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