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

TkInter, sélectionner un morceau de photo

1 réponse
Avatar
JB BUTET
Bonjour à tous :)

attention : Je débute et je ne sais pas programmer Objet. J'utilise
seulement des fonctions pour le moment. (j'ai encore pas compris grand
chose à la POO) Mais c pas grave, je me soigne :)))))

J'affiche une image jpg, dans un Canvas TK, ca c'est bon :)
j'aimerai maintenant pouvoir sélectionner un rectangle dans ce canvas.

J'imagine que ca doit se faire par des "events" mais je trouve pas.

J'ai essayé ceci :
PartieImage.bind("<Button-1>", appui)
PartieImage.bind("<ButtonRelease-1>", relache)

Mais il ne se passe rien. (appui() et relache() font juste un print des
coordonnées :
def relache(event):
PartieImage.focus_set()
print "Relache a", event.x, event.y

Soit cette portion de code est bonne et alors j'ai des soucis d'update()
de fenetre et de garbage, soit c'est pas bon... et je sollicite votre
aide ;)

Merci d'avance :)

A+

JB

1 réponse

Avatar
Eric Brunel
On Sun, 06 May 2007 14:55:34 +0200, JB BUTET wrote:

Bonjour à tous :)

attention : Je débute et je ne sais pas programmer Objet. J'utilise
seulement des fonctions pour le moment. (j'ai encore pas compris grand
chose à la POO) Mais c pas grave, je me soigne :)))))

J'affiche une image jpg, dans un Canvas TK, ca c'est bon :)
j'aimerai maintenant pouvoir sélectionner un rectangle dans ce canvas.

J'imagine que ca doit se faire par des "events" mais je trouve pas.

J'ai essayé ceci :
PartieImage.bind("<Button-1>", appui)
PartieImage.bind("<ButtonRelease-1>", relache)

Mais il ne se passe rien. (appui() et relache() font juste un print des
coordonnées :
def relache(event):
PartieImage.focus_set()
print "Relache a", event.x, event.y

Soit cette portion de code est bonne et alors j'ai des soucis d'update()
de fenetre et de garbage, soit c'est pas bon... et je sollicite votre
aide ;)


Genre un truc comme ça?:

-------------------------------------------------
from Tkinter import *

root = Tk()

cnv = Canvas(root)
cnv.pack()

img = PhotoImage(file='File.gif')

imgObj = cnv.create_image(100, 100, image=img, anchor='center')

def mouseDown(evt):
print 'down', evt.x, evt.y

def mouseUp(evt):
print 'up', evt.x, evt.y

cnv.tag_bind(imgObj, '<Button-1>', mouseDown)
cnv.tag_bind(imgObj, '<ButtonRelease-1>', mouseUp)

root.mainloop()
-------------------------------------------------

Merci d'avance :)


Pas de mal.

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