message+entry ?

Le
alainL
Bonjour,
Existe-t-il une solution qui permet d'afficher dans un même objet un message
déjà enregistré qui serait modifiable par le lecteur et re-enregistrable une
fois modifié (ou supprimé)?
Sinon, peut-on préciser la taille (width et height) de "entry" afin de le
cadrer proprement dans la page.
Merci
alain
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Bruno Desthuilliers
Le #661596
Bonjour,
Existe-t-il une solution qui permet d'afficher dans un même objet un
message déjà enregistré qui serait modifiable par le lecteur et
re-enregistrable une fois modifié (ou supprimé)?
Sinon, peut-on préciser la taille (width et height) de "entry" afin de
le cadrer proprement dans la page.


Je n'ai absolument rien compris à ta question, c'est normal ?

Laurent Pointal
Le #661595
Bonjour,
Existe-t-il une solution qui permet d'afficher dans un même objet un
message déjà enregistré qui serait modifiable par le lecteur et
re-enregistrable une fois modifié (ou supprimé)?
Sinon, peut-on préciser la taille (width et height) de "entry" afin de
le cadrer proprement dans la page.
Merci
alain


J'imagine que tu utilises Tkinter comme GUI...

L'objet pour afficher et pouvoir modifier une ligne de texte est Entry,
tu peux utiliser l'option textvariable pour lui indiquer une StringVar
dans laquelle tu peux lire/écrire afin de modifier le contenu affiché ou
de récupérer ce qu'a saisi l'utilisateur.

Voir: http://infohost.nmt.edu/tcc/help/pubs/tkinter/entry.html

Pour le positionnement, il ne faut SURTOUT PAS préciser de taille, mais
utiliser les layout (grid, pack...) avec les options pour dire comment
le contrôle se redimensionne s'il y a lieu.

alainL
Le #661593
"Bruno Desthuilliers" écrit dans le message de groupe de discussion :
475523e2$0$11427$
Bonjour,
Existe-t-il une solution qui permet d'afficher dans un même objet un
message déjà enregistré qui serait modifiable par le lecteur et
re-enregistrable une fois modifié (ou supprimé)?
Sinon, peut-on préciser la taille (width et height) de "entry" afin de
le cadrer proprement dans la page.


Je n'ai absolument rien compris à ta question, c'est normal ?




:-)))))))))))) Tu vois ce que je peux endurer qd je lis une doc en anglais
!!!!

La page de droite de mon (futur) agenda affichera les notes du jour. J'avais
prévu deux box: une pour afficher l'enreg et une pour saisir .
Mais si "Entry" permet lecture/écriture, ce que me dit Laurent, plus de pb .
J'y retourne ! Merci à vous deux .
alain


Bruno Desthuilliers
Le #661591


"Bruno Desthuilliers" a écrit dans le message de groupe de discussion :
475523e2$0$11427$


Bonjour,
Existe-t-il une solution qui permet d'afficher dans un même objet un
message déjà enregistré qui serait modifiable par le lecteur et
re-enregistrable une fois modifié (ou supprimé)?
Sinon, peut-on préciser la taille (width et height) de "entry" afin
de le cadrer proprement dans la page.



Je n'ai absolument rien compris à ta question, c'est normal ?



:-)))))))))))) Tu vois ce que je peux endurer qd je lis une doc en
anglais !!!!


Heu... Pas forcément, non - je suppose que quand tu lis une doc, tu a au
moins une idée de ce à quoi elle se rapporte ?-)

Ce que je voulais dire, c'est que tu ne précises pas le contexte - en
l'occurrence, si j'ai bien compris (enfin, si Laurent a bien compris)
une appli GUI sous Tkinter. Mais ça aurait pu être une appli sous QT,
sous wxPython, ou même une appli web...

J'y retourne ! Merci à vous deux .


Heu... Je ne suis pas sûr d'avoir fait grand chose pour mériter des
remerciements !-)



alainL
Le #661590
"Bruno Desthuilliers" le message de groupe de discussion :
4755ad18$0$6239$
..........................
Ce que je voulais dire, c'est que tu ne précises pas le contexte - en
l'occurrence, si j'ai bien compris (enfin, si Laurent a bien compris) une
appli GUI sous Tkinter. Mais ça aurait pu être une appli sous QT, sous
wxPython, ou même une appli web...



C'est ça ! Alors, pendant que je suis identifié, j'en profite :
comment expliquer à mon Python GUI sous Tkinter que, si je lui demande
d'ouvrir "r" un fichier.txt qui n'existe pas, il ne doit pas se formaliser
mais passer à la suite ???
___________________________________________________________________________________________________
f=open('E:/20071204.txt','r')
notes=f.readline()
entry.text=notes # (là je sais pas si ca marche pour afficher tout le
contenu du fichier dans Entry à l'ouverture, SI le fichier existe)
f.close()
______________________________________________________________________________________________________
Bonne soirée
alain

Adrien Saladin
Le #661589
alainL wrote:

C'est ça ! Alors, pendant que je suis identifié, j'en profite :
comment expliquer à mon Python GUI sous Tkinter que, si je lui demande
d'ouvrir "r" un fichier.txt qui n'existe pas, il ne doit pas se
formaliser mais passer à la suite ???

______________________________________________________________________________

f=open('E:/20071204.txt','r')
notes=f.readline()
entry.text=notes # (là je sais pas si ca marche pour afficher tout
le
contenu du fichier dans Entry à l'ouverture, SI le fichier existe)
f.close()



Salut,

Tu peux placer ton code dans un bloc try ... except. Si python n'arrive pas
à ouvrir ton fichier il déclenchera une exception:

try:
f=open('E:/20071204.txt','r')
notes=f.readline()
except IOError:
pass


Adrien

Bruno Desthuilliers
Le #661588


"Bruno Desthuilliers" dans le message de groupe de discussion :
4755ad18$0$6239$
..........................

Ce que je voulais dire, c'est que tu ne précises pas le contexte - en
l'occurrence, si j'ai bien compris (enfin, si Laurent a bien compris)
une appli GUI sous Tkinter. Mais ça aurait pu être une appli sous QT,
sous wxPython, ou même une appli web...




C'est ça ! Alors, pendant que je suis identifié, j'en profite :
comment expliquer à mon Python GUI sous Tkinter que, si je lui demande
d'ouvrir "r" un fichier.txt qui n'existe pas, il ne doit pas se
formaliser mais passer à la suite ???


<mode="pointilleux">
Là, ça n'a plus rien à voir avec Tkinter ou autre !-)
</mode>

___________________________________________________________________________________________________

f=open('E:/20071204.txt','r')
notes=f.readline()
entry.text=notes # (là je sais pas si ca marche pour afficher tout
le contenu du fichier dans Entry à l'ouverture, SI le fichier existe)
f.close()



try:
# nb: penser à la portabilité, cf os.path
f = open("chemin/du/fichier.ext") # 'r' par defaut
except IOError, e:
# éventuellement gérer l'erreur, qui peut être
# liée à l'absence du fichier
# OU à autre chose (permissions etc)
pass
else:
# pas d'erreur:
# si tu veux *tout* le fichier, utilise readline*s*
entry.text = f.readlines()
f.close()

HTH


alainL
Le #661587
"Bruno Desthuilliers" le message de groupe de discussion :
4755d30f$0$32741$
.............................;
try:
# nb: penser à la portabilité, cf os.path
f = open("chemin/du/fichier.ext") # 'r' par defaut
except IOError, e:
# éventuellement gérer l'erreur, qui peut être
# liée à l'absence du fichier
# OU à autre chose (permissions etc)
pass
else:
# pas d'erreur:
# si tu veux *tout* le fichier, utilise readline*s*
entry.text = f.readlines()
f.close()

HTH


J'essaie ça demain. Merci.
alain

Eric Brunel
Le #661343
Pour compléter ce que les autres ont déjà dit:

On Tue, 04 Dec 2007 22:26:31 +0100, alainL wrote:
entry.text=notes # (là je sais pas si ca marche pour afficher tout
le contenu du fichier dans Entry à l'ouverture, SI le fichier existe)


Ca ne marchera pas: ça va juste créer dynamiquement un attribut 'text'
pour entry, et c'est tout.

Pour changer le texte de l'entry, on peut faire soit:

entry.delete(0, END)
entry.insert(0, notes)

soit (plus pratique à l'usage):

entryVar = StringVar()
entry.configure(textvariable=entryVar) # ou passer l'option à la création
entryVar.set(notes)

HTH
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"

alainL
Le #661342
"Eric Brunel" discussion :
Pour compléter ce que les autres ont déjà dit:

On Tue, 04 Dec 2007 22:26:31 +0100, alainL wrote:
entry.text=notes # (là je sais pas si ca marche pour afficher tout
le contenu du fichier dans Entry à l'ouverture, SI le fichier existe)


Ca ne marchera pas: ça va juste créer dynamiquement un attribut 'text'
pour entry, et c'est tout.

Pour changer le texte de l'entry, on peut faire soit:

entry.delete(0, END)
entry.insert(0, notes)

soit (plus pratique à l'usage):

entryVar = StringVar()
entry.configure(textvariable=entryVar) # ou passer l'option à la
création
entryVar.set(notes)



Effectivement, la lecture ne marche pas avec ça:
____________________________________________
try:
f = open(ficjour) # 'r' par defaut
except IOError, e:
pass
else:
notes= f.readlines()
entry.text=notes
f.close()
========================================= unindent does not match any outer indentation level

J'ai ce message d'erreur mais je ne pige pas ! (ficjour 071205.txt est
défini plus haut . Ce fichier se trouve dans le même répertoire que le
progr. , fait pour essai avec le bloc notes et qui contient une ligne de
texte)

Mais je patauge dans les Entry !!!
alain


Publicité
Poster une réponse
Anonyme