Bonjour,

Alors voila, j'ai créé un scrollcanvas avec des petit rectangles dedans. A chaque rectangle, j'ai affecté un tag pour l'identifier. :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
toto = self.can.create_rectangle(x-35,y-10,x-35,y+10,width = 1)
self.can.itemconfig(toto,tags=("rec"+str(x)+"_"+str(y)))
donc tout ce passe bien quand j'essaye de cliqué sur mes rectangles apres avoir fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
self.can.bind("<ButtonRelease-1>",self.onClique)
et :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
def onClique(self,event):
 
        self.resizescrollregion()
        widg = event.widget
 
        x = widg.canvasx(event.x)
        y = widg.canvasx(event.y)
        temp =  widg.find_closest(x, y)[0]
        print temp
        print self.can.gettags(temp)
        self.resizescrollregion()
j'obtient donc l'ID du rectangle ainsi que son tag personalisé.

le probleme se pose quand j'utilise la scrollBar. Là, les valeurs que j'obtient ne sont plus celles que je récupérais avant. Et ni les tags, ni les identifiant ne correspondent. J'aimerai associé une action différente en fonction du rectangle sur lequel on clique. J'ai essayé de faire des resizescrollregion() partout mais rien n'y fais.
quelqu'un aurai une idée...