Problème d'Entry avec python tkinter

Résolu/Fermé
gringo222 - 1 sept. 2008 à 10:34
 siby - 2 juin 2010 à 14:16
Bonjour à tous,
Je souhaiterais, à l'ouverture d'une fenêtre tkinter que s'affiche dans l'Entry la valeur d'un fichier txt. Je sais déjà l'enregistrer dans le fichier mais pas faire apparaçitre le contenu
Code :#!/usr/bin/python

from Tkinter import *
import os
import csv

def ok():
global fichier
fichier = open('Relation.txt', 'w')
fichier.write(Relation.get())
fichier.close()
ok
application = Tk()
application.title("Relation")

barreEtat = Label(application, text="Ici bientôt un texte d'aide", bd=1, relief=GROOVE, anchor=W)
barreEtat.pack(side=BOTTOM, fill=X)

panneauSup = Frame(application, width=1000, height = 20, relief = FLAT, bg="#FFFF99")
label1=Label(panneauSup, text=' RELATION : ', font = ('arial', '14'), bg="#FFFF99", width=10)
label1.grid(row=0,column=0)
Relation = Entry(panneauSup, width=30)
Relation.grid(row=0, column=1, sticky=W)
panneauSup.pack(side=TOP, fill=BOTH, expand=False)
bOk=Button(panneauSup, text='OK', fg='brown')
bOk.grid(row=0,column=2,sticky=E)
bOk.config(state=NORMAL, relief=RAISED, command=ok)
application.mainloop()

Merci à tous pour vos réponses

5 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
1 sept. 2008 à 15:55
Tu n'as pas lié ton Entry() à une variable Tkinter.StringVar(), donc tu ne pourra jamais relire la valeur.

Je te conseille de lire:
https://sebsauvage.net/python/gui/index_fr.html

Il y a deux ou trois astuces qu'il faut connaîte avec Tkinter.
0
Bonjour
merci pour ta réponse
J'ai beau retourner le probleme dans tous les sens je n'arrive pas à récupérer la valeur du fichier pour la mettre dans l'entry à l'ouverture de la fenetre

<code>
from Tkinter import *
import os
import csv

def ok():
global fichier
fichier = open('Relation.txt', 'w')
fichier.write(Relation.get())
fichier.close()

application = Tk()
application.title("Relation")
r = stringvar()
barreEtat = Label(application, text="Ici bientôt un texte d'aide", bd=1, relief=GROOVE, anchor=W)
barreEtat.pack(side=BOTTOM, fill=X)

panneauSup = Frame(application, width=1000, height = 20, relief = FLAT, bg="#FFFF99")
label1=Label(panneauSup, text=' RELATION : ', font = ('arial', '14'), bg="#FFFF99", width=10)
label1.grid(row=0,column=0)
Relation = Entry(panneauSup, textvariable = r, width=30)
Relation.grid(row=0, column=1, sticky=W)
panneauSup.pack(side=TOP, fill=BOTH, expand=False)
bOk=Button(panneauSup, text='OK', fg='brown')
bOk.grid(row=0,column=2,sticky=E)
bOk.config(state=NORMAL, relief=RAISED, command=ok)
application.mainloop()
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
4 sept. 2008 à 10:12
C'est normal: Ce n'est pas un Relation.get() qu'il faut faire, mais un .get() sur la variable r: r.get()

Tu devrais faire ton appli sous forme d'objet, ce qui simplifiera l'accès à la variable r dans chaque fonction.
0
Bonjour,

je suis un debutant en prog
j'ai rencontre un petit soucis qui commence a me depasser!

regarder cet exemple:
self.enty_text1=StringVar()
self.enty_text1.set(str(self.filtrage_nom_fichier(filename)))
self.entree1=Entry(self.LF_org,width=70,state=DISABLED, textvariable=self.enty_text1)

j'utilise plusieurs fichiers donc chacun une a deux classes
quand je texte le fichier tout seul aucun probleme mais rien ne marche quand
j'appelle ce meme fichier dans un autre fichier
en fait dans l'Entry ne s'affiche !!!!!!!!


je suis complemetent perdu!
si vous avez une idee ça sera sympa de votre part
je vous remercie.


Configuration: Windows XP / Internet Explorer 6.0
0
Bonjour,

je suis un debutant en prog
j'ai rencontre un petit soucis qui commence a me depasser!

regarder cet exemple:
self.enty_text1=StringVar()
self.enty_text1.set(str(self.filtrage_nom_fichier(filename)))
self.entree1=Entry(self.LF_org,width=70,state=DISABLED, textvariable=self.enty_text1)

j'utilise plusieurs fichiers donc chacun une a deux classes
quand je execute le fichier tout seul aucun probleme mais rien ne marche quand
j'appelle ce meme fichier dans un autre fichier
en fait dans l'Entry ne s'affiche !!!!!!!!


je suis complemetent perdu!
si vous avez une idee ça sera sympa de votre part
je vous remercie.


Configuration: Windows XP / Internet Explorer 6.0
0
Bonjour
Ca y est j'ai resolu mon probleme avec un :
StringVar() ainsi qu'un
fichier.set(open('Relation.txt', 'r').read())
Merci pour ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
11 sept. 2008 à 13:27
De rien :-)
Je marque le sujet en "résolu".
0