Is there a way to directly set the x and y coordinate of a canvas object after you created it? I know move method, but it only changes the coordinate by the value, not directly setting it, and I don’t want to make a function just for subtracting the target coordinate by the current coordinate and moving it by the value.
The canvas has multiple methods. You can use coords to change the coordinates (which can both move and resize the object), move to move an item a relative distance in the x and y direction, moveto to move the item to an absolute position.
id = canvas.create_rectangle(10,10,100,100)
canvas.move(id, 2, 2) # move 2 pixels right and down
canvas.moveto(id, 20, 20) # to rectangle to position 20,20
canvas.coords(id, 100, 100, 120, 120) # redraw the rectangle at the given coordinates