Bonjour,
je souhaite récupérer ce que l'utilisateur entre au clavier à la place de "Entrez, ici, le texte à écrire".
J'ai beau retourner le problème dans tous les sens je ne vois pas pourquoi mon premier programme fonctionne, et l'autre pas (la fenêtre de saisie n'est pas active, je ne peux pas modifier le texte). J'ai lu pas mal de forums de discussion et étudié un tutoriel tkinter. Les deux programmes me semblent très proches et pourtant...
un truc m'échappe, c'est évident ! Je travaille sur edupython 2.6 et python 3.4.
Premier programme :
Deuxième programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 from tkinter import * import tkinter.filedialog as tkfd from PIL import Image,ImageOps from math import sqrt import os def lancerProgramme(): def print_name(event): print(entree.get()) value = StringVar(feneTTre) value.set("Entrez, ici, le texte à écrire") entree = Entry(feneTTre, textvariable=value, width=30,foreground="red", background="yellow") entree.pack() entree.bind("<Return>", print_name) feneTTre = Tk() canvas = Canvas(feneTTre,width=600, height=325) bouTti01 = Button(feneTTre,text='Bouton de lancement',command=lancerProgramme) bouTti01.place(relx=0.8, rely=0.05, anchor="c") canvas.pack() feneTTre.mainloop()
J'ajoute que la "vignette" s'affiche bien en haut à gauche de ma fenêtre. Pas de souci de ce côté là.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 from tkinter import * import tkinter.filedialog as tkfd from PIL import Image,ImageOps from math import sqrt import os def lancerProgramme(): def print_name(event): print(entree.get()) value = StringVar(feneTTre) value.set("Entrez, ici, le texte à écrire") entree = Entry(feneTTre, textvariable=value, width=30,foreground="red", background="yellow") entree.pack() entree.bind("<Return>", print_name) feneTTre = Tk() filepath = tkfd.askopenfilename(title="Ouvrir une image",filetypes=[('jpg files','.jpg'),('png files','.png'),('all files','.*')]) imgVignette=Image.open(filepath) # Chargement d'une image à partir de PIL imgVignette=imgVignette.resize((260,260)) imgVignette.save("vignette.png") imgTK0= PhotoImage(file="vignette.png") canvas = Canvas(feneTTre,width=600, height=325) canvas.create_image(0, 0, anchor=NW,image=imgTK0) bouTti01 = Button(feneTTre,text='Bouton de lancement',command=lancerProgramme) bouTti01.place(relx=0.8, rely=0.05, anchor="c") canvas.pack() feneTTre.mainloop()
Mais je ne peux plus entrer de texte dans la fenêtre texte, qui affiche toujours "Entrez, ici, le texte à écrire" mais sans que l'on puisse intervenir dessus, contrairement au premier programme.
Merci pour votre aide.
Partager