通过拖动创建从椭圆到另一个的线

时间:2015-03-01 11:00:45

标签: python-3.x tkinter

我正在开展一个代表友谊网络的项目。我用椭圆代表朋友,用线代表他们的友谊。

我已经查找了如何绑定事件,到目前为止我理解如何绑定事件:

def line(self, event):
    x1, y1 = (event.x - 1), (event.y - 1)
    x2, y2 = (event.x + 1), (event.y + 1)
    self.display_canvas.create_line(x1, y1, x2, y2, fill="black")

但是它只绘制一条像素线并跟随鼠标的轨迹。

我想要做的是创建一条直线,它也跟在鼠标之后,直到它在椭圆形上停止,并且只有在椭圆形上开始时。

它看起来像这样(它完全相同,除非我无法拖动):!http://s17.postimg.org/lhveezdi7/line.png

谢谢。

1 个答案:

答案 0 :(得分:0)

<B1>事件中,请记住x / y坐标。在<B1-Motion>上,从记住的坐标到事件的坐标绘制一条线。在任何时间点,您都可以使用画布的find_*功能检查坐标是否在椭圆上方或附近。