如何在网格内制作一个正方形跟随鼠标光标

How to make a square follow mouse cursor inside grid

我正在尝试在 Tkinter 网格内制作一个正方形跟随鼠标光标。

我正在使用此代码创建网格:

for gr in range(0, 400, 10):
    canvas.create_line(0,gr, 400,gr, fill='#cfcfcf', width=1)
for gr in range(0,400, 10):
    canvas.create_line(gr,0, gr,400, fill='#cfcfcf', width=1)

我将 canvas 绑定到光标“Motion”:

def cursor_move(event):
    x, y= event.x, event.y
    cursor = canvas.find_withtag('cursor') #cursor is my square which I want to move
    canvas.moveto(cursor, newx, newy)

但是我不知道如何获取 newx 和 newy 值。
感谢您的帮助!

如果你想在网格处捕捉正方形,试试:

def cursor_move(event):
    # calculate grid x and y based on mouse x and y
    x, y = event.x//10*10, event.y//10*10
    canvas.moveto('cursor', x-1, y-1)