Merci beaucoup pour tous ces commentaires. Grâce à eux, j'ai pu rajouter ce bout de code qui me permet d'exécuter une fonction (delete ici) uniquement lorsque la case sur laquelle on clique est d'une certaine couleur :
Par contre pour rajouter un label dans chaque rectangle pour avoir du texte, ça me parait un peu plus compliqué. J'ai essayé d'appliquer la méthode ci-dessous, j'y suis pas encore arrivé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 r = can.find_overlapping(evt.x, evt.y, evt.x, evt.y) if not r : return rid = r[0] myColor = can.itemcget(rid,'fill') if myColor == "red": # Récupération des index ligne et colonne contenant l'id rectangle for il, ligne in enumerate(items) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 text_item = can.create_text(40, 60, text="Hello world!", fill="white") bbox = canvas.bbox(text_item) rect_item = can.create_rectangle(bbox, outline="red", fill="black")
Partager