Rechercher : dans
Par :

Problème d'Entry avec python tkinter

Dernière réponse le 11 sep 2008 à 13:27:33 gringo222, le 1 sep 2008 à 10:34:45 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 2.0.0.4
Python 2.5

Meilleures réponses pour « Problème d'Entry avec python tkinter » dans :
[Python] Lire et écrire des fichiers CSV VoirLIRE ET ÉCRIRE DES FICHIERS CSV Python www.python.org, dans sa version 2.4 supporte de facto le format CSV (comma-separated values: valeurs séparées par des virgules). La Library Reference est certes très explicative à ce sujet, mais uniquement...
Votre première application graphique avec Python et Glade VoirCe guide vous aidera à créer pas à pas votre première application graphique. Nous allons utiliser le langage de programme Python et l'API graphique GTK, en utilisant le logiciel Glade pour créer facilement les interfaces graphiques. C'est de la...
Duplicate entry '127' for key 1 VoirVous tentez de faire une insertion dans une table de votre base de données MySQL et vous obtenez l'erreur MySQL suivante: Duplicate entry '127' for key 1 Ceci provient très probablement du fait que la clé primaire de votre table est de type TINYINT...

1

sebsauvage, le 1 sep 2008 à 15:55:31

Tu n'as pas lié ton Entry() à une variable Tkinter.StringVar(), donc tu ne pourra jamais relire la valeur.

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

Il y a deux ou trois astuces qu'il faut connaîte avec Tkinter.

Répondre à sebsauvage

2

gringo222, le 4 sep 2008 à 09:40:40

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()

Répondre à gringo222

3

sebsauvage, le 4 sep 2008 à 10:12:57

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.

Répondre à sebsauvage

4

gringo222, le 11 sep 2008 à 10:49:00

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

Répondre à gringo222

5

 sebsauvage, le 11 sep 2008 à 13:27:33

De rien :-)
Je marque le sujet en "résolu".

Répondre à sebsauvage
Collection CommentÇaMarche.net