【发布时间】:2013-01-25 20:42:47
【问题描述】:
我有这段代码,它创建一个矩形,如果他附近有其他东西的话:
def creaRect(event):
#rect = Rectangle.Rectangle(canvas, event, CanWidth=Width, CanHeight=Height)
width, height = 25, 25
x, y = event.x, event.y
x1 = int(x-width/2)
y1 = int(y-height/2)
x2 = int(x+width/2)
y2 = int(y+height/2)
rect = canvas.create_rectangle((x1, y1, x2, y2), outline="red", width=1, tags="bloc")
Rectangle.OidRect.append(rect)
near = canvas.find_closest(x, y, 200)
print(len(near))
但是 find_closest 返回的元组的长度每次都是 1,而我在同一位置或非常接近的位置创建了许多矩形。 对我来说 find_closest 应该返回一个元组,其中所有项目的 id 围绕 x、y 坐标在 200 范围内。 是我看不懂还是做错了?
【问题讨论】:
-
在 tkinter 上没有任何经验:我认为
closest是最高级的——因此它应该只返回一个——最高级。否则函数应该命名为find_close——但正如我所说:我没有使用 tkinter 的经验
标签: python canvas tkinter tuples closest