Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

message+entry ?

12 réponses
Avatar
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

10 réponses

1 2
Avatar
Bruno Desthuilliers
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 ?

Avatar
Laurent Pointal
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.

Avatar
alainL
"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
!!!!

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


Avatar
Bruno Desthuilliers


"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 !-)



Avatar
alainL
"Bruno Desthuilliers" a écrit 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 ???
___________________________________________________________________________________________________
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

Avatar
Adrien Saladin
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

Avatar
Bruno Desthuilliers


"Bruno Desthuilliers" a écrit
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


Avatar
alainL
"Bruno Desthuilliers" a écrit dans
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

Avatar
Eric Brunel
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+-'])"

Avatar
alainL
"Eric Brunel" a écrit dans le message de groupe de
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


1 2