(1)、find_above(self, tagOrId):返回 tagOrId 对应图形项的上一个图形项。 (2)、find_all(self):返回全部图形项。 (3)、find_below(self, tagOrId):返回 tagOrId 对应图形项的下一个图形项。 (4)、find_closest(self,x,y):返回与 x、y点最接近的图形项。 (5)、find_enclosed(self,x1,y1,x2,...
self.canvas.itemconfig(self.current, fill="blue") self.current = self.canvas.find_closest(event.x, event.y) self.canvas.itemconfig(self.current, fill="yellow")if__name__ =="__main__": app = App() app.mainloop() 它是如何工作的... 在应用程序初始化期间,我们创建画布并定义current字段以...
要从事件中提取对象id,可以使用Canvas的find_closest方法或find_overlapping方法。这些方法接收事件发生的坐标作为参数,并返回与该坐标最接近或重叠的对象的标识符。 示例代码如下: import tkinter as tk def canvas_clicked(event): x = event.x y = event.y # 使用find_closest方法获取与坐标最接近的对象id...
.find_all() 1. 返回画布上所有对象的对象 ID 编号列表,从最低到最高。 .find_below(tagOrId) 1. 返回由 tagOrId 指定的对象的对象 ID。 如果多个对象匹配,您将获得最低的一个。 如果您将最低对象的对象 ID 传递给它,则返回一个空元组。 .find_closest(x,y,halo=None,start=None) 1. 返回一个包含...
find_closest(self, x, y):返回和 x 、y 点最接近的图形项。 find_enclosed(self, x1, y1, x2, y2):返回位于指定矩形区域内最上面的图形项。 find_overlapping(self, x1, y1, x2, y2):返回与指定矩形区域重叠的最上面的图形项。 find_withtag(self, tagOrId):返回 tagOrId 对应的全部图形项。
print canvas.find_closest(x, y) 1. 2. 3. 4. 5. 画布对象显示的顺序 Canvas 组件中创建的画布对象都会被列入显示列表中,越接近背景的画布对象位于显示列表的越下方。显示列表决定当两个画布对象重叠的时候是如何覆盖的(默认情况下新创建的会覆盖旧的画布对象的重叠部分,即位于显示列表上方的画布对象将覆盖下...
x=canvas.canvasx(event.x)y=canvas.canvasy(event.y)print canvas.find_closest(x,y) 3、画布对象显示的顺序 Canvas 组件中创建的画布对象都会被列入显示列表中,越接近背景的画布对象位于显示列表的越下方。显示列表决定当两个画布对象重叠的时候是如何覆盖的(默认情况下新创建的会覆盖旧的画布对象的重叠部分,即...
self.canvas.create_oval(x-25,y-25,x+25,y+25,outline="blue",fill=color,tags="token",width=TOKENWIDTH)defon_token_press(self,event):'''Begining drag of an object'''# record the item and its locationself._drag_data["item"]=self.canvas.find_closest(event.x,event.y)[0]self._drag_...
()返回tagOrId对应图形项的上一个图形项find_all()返回全部图形项find_below()返回tagOrId对应图形项的下一个图形项find_closest()返回和x、y点最接近的图形项find_enclosed()返回位于指定矩形区域内最上面的图形项find_overlapping()返回与指定矩形区域重叠的最上面的图形项find_withtag()返回tagOrId对应的全部...
#将画布对象更新显示在框架中 canvas.create_polygon(10,10,10,60,50,35)