chenguang Zhang wrote: > Suppose there are several points on my canvas, each corresponds to a > data of the form [point index, point's x coordanate, point's y > coordinate], all these points are > created by the following sentence, > > for point in self.data: > #self.data is a point list and has the form [point1, point2, ...] > self.drawing.create_oval(point[1]-2, point[2]-2, point[1]+2, > > point[2]+2,fill='black',tags='Toselect') > #self.drawing is a Canvas > self.drawing.tag_bind('Toselect', '<Any-Enter>', self.mouseEnter) > > and the following is the self.mouseEnter function: > > def mouseEnter(self,event): > > self.CoordinateShow.configure(text='point:'+str(event.x)+','+str(event.y)) > #self.CoordinateShow is a Label to show the point's information > > I want to show the related information of the point when my mouse moves > upon them... > The KEY problem is: How can the mouse read out that point's OWN > information, such as the point's index, x and y coordinate, and even the > point's color. You see, the mouse's function here accually works on its > own x and y coordinates(event.x and event.y), not the point's value. > (now the self.mouseEnter function don't manipulate color, but my future > work will have to handle this...) >
You need to convert the screen coordinate to your canvas coordinate. Replace event.x and event.y with self.drawing.canvasx(event.x) and self.drawing.canvasy(event.y) respectively. Regards, John _______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org http://mail.python.org/mailman/listinfo/tkinter-discuss