【发布时间】:2015-10-14 20:30:25
【问题描述】:
我试图让一条线跟随画布周围的鼠标。到目前为止,我可以创建线条,但我不确定如何删除旧线条,所以屏幕只是充满了黑线。我想删除旧的,但保留鼠标所在的位置。 我的代码是:
def evt_motion(self, e):
plot = Plotter
self.set_position(e.x, e.y)
hstart = (e.x, 0)
hend = (e.x, 1000)
vstart = (0, e.y)
vend = (1000, e.y)
hor = self.canvas.create_line(hstart, hend)
ver = self.canvas.create_line(vstart, vend)
【问题讨论】:
-
一种方法是在旧线上画一条新线,使用背景色。如果您不必担心线路交叉,这将解决问题。
-
谢谢,但我希望它看起来好像有随鼠标移动的十字准线。
-
我不知道您使用的是什么平台。你可以声明对象层吗?如果是这样,那么您只需将十字准线放在前层。你的系统有“精灵”的概念吗?十字准线将是一个很好的精灵。否则,您可以简单地删除或覆盖旧图标,然后绘制一个新图标。
-
经典XY Problem - 你想移动十字准线,你决定通过删除它们并重新绘制它们来做到这一点。相反,您应该使用新位置重新配置对象。
标签: python python-3.x tkinter