Je craque, ca fait prés d'un mois que je me casse la tete sur ce problème et rien n'y fait.
imaginez, un canvas dans lequel je met une image, puis par dessus une autre image qui recouvre la première totalement.
je conserve les refs canvas, dans des listes distinctes.
La particularité de la 2eme image est quel a une partie transparente, qui laisse entrevoir l'image du dessous.
J'ai mis en place une fonction pour déplacer les éléments dans le canvas.
elle fonctionne c'est sur.
j'aimerai arrivé a pouvoir déplacer l'image du dessous sans toucher a l'image du dessus. Le prob est que canvas.find-closest() sélectionne l'objet le plus proche du clic souris. L'image2 est systématiquement sélectionnée car la zone transparent reste comme faisant partie de l'image 2.
Suis je assez clair!?
j'ai bien essayé un condition du genre:
Rien n'y fait, je comprend pas. j'ai fait une variante:
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 def mousedown(self,event): self.x,self.y=event.x,event.y self.canvas.configure(cursor='draft_small') self.Object=self.canvas.find_closest(self.x,self.y,halo=15) self.ID=self.Object print self.Object if self.ID[0]==self.coord_image[4]: pass elif self.ID[0]==self.coord_frame[4]: self.Object=(self.coord_image[4]) self.ID=self.Object print self.Object,self.coord_image[4],self.ID[0] else: self.canvas.itemconfigure(self.Object,width=2) self.canvas.lift(self.Object)
mais toujours rien.....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 elif self.ID[0]==self.coord_frame[4]: self.Object=self.c_image self.ID=self.Object print self.Object
qqu'un pour m'aider. J'ai bien une solution pour contourner le problème, mais ca n'avance a rien de contourner un prob. Je préfère le résoudre.... Peut être avec un cours Python ?
Partager