Version : Python3
Module : tkinter
J'essaye de répondre à cette problématique :
permettez la saisie d’une trace à "main levée" dans le canvas, cette
saisie se faisant par la combinaison de la touche Ctrl et du bouton
gauche de la souris. L’objet géométrique crée doit être une ligne
brisée (createline) de couleur noire. Lorsque le curseur souris passe
sur cette trace (voir tagbind), celle-ci doit changer de couleur
(rouge par exemple) et la barre d’état doit afficher l’ID de l’objet
graphique. L’appui du bouton 1 de la souris sur cette trace doit
permettre de la déplacer (move). S’éloigner de la trace doit la
remettre à sa couleur d’origine.
Voici mon code courant (incomplet) :
import tkinter as tk
import tkinter.filedialog as dialog
import mylib as mylib
root = tk.Tk()
dessin=mylib.my_draw(root)
mylib.my_menu(root,dessin)
def tracage(event):
global root, cadre
x,y = event.x, event.y
G = cadre.coords(point) # coord de l'objet graphique
G = # à compléter..
cadre.coords(point,mouse) #
cadre = tk.Canvas(root,bg="white")
point = cadre.create_line(52,52,53,54)
cadre.bind("<B1-Motion>", tracage)
cadre.pack()
root.mainloop()
Il me manque la partie : # à compléter dans la quelle je dois mettre les valeurs pour la nouvelle coordonnée de ma ligne mais je ne vois pas quelle coordonnées mettre, désolé je n'arrive pas à exprimer clairement le problème car c'est encore confus pour moi l'utilisation de .coord en python, apparement ça permet de déplacer les objets graphiques, donc je dois associer cela à l'action de ma souris.