为什么按下键时此图像不移动?

Why doesn't this image move when the key is pressed?

PythonTkinter 内维。我尝试在 tkinter 中制作图像并使用箭头移动图像。该图像显示它应该,但当我尝试使用箭头移动它时,它根本不起作用。知道为什么吗?我使用 python 2.7.18 并且我使用的是 [ 的最新版本=31=]

from Tkinter import *


############
#things

w = 500
h = 500

width=w
height=h


#############

######################################################################
#window

window = Tk()
window.title("Moving image")
canvas = Canvas(window, width = 500, height = 500)
canvas.pack()
my_image = PhotoImage(file="/home/user/Documents/ddd.png")
canvas.create_image(260, 125, anchor = NW, image=my_image)

#######################################################################

################################
#var

def up(event):
  x = 0
  y = -10
  canvas.move(my_image, x, y)

def down(event):
  x = 0
  y = 10
  canvas.move(my_image, x, y)

def left(event):
   x = -10
   y = 0
   canvas.move(my_image, x, y)

def right(event):
  x = 10
  y = 0
  canvas.move(my_image, x, y)



###############################

###############################
#binds
window.bind("<Up>", up)
window.bind("<Down>", down)
window.bind("<Left>", left)
window.bind("<Right>", right)

window.mainloop()

##############################

您正在尝试移动错误的对象。使用 canvas.create_image:

返回的对象
image_id = canvas.create_image(260, 125, anchor = NW, image=my_image)

...

canvas.move(image_id, x, y)

或者,您可以在图像上附加标签:

canvas.create_image(260, 125, anchor=NW, image=my_image, tag="move")

...

canvas.move("move", x, y)

这将移动所有附加了这个特定标签的对象。