伙计们,我正在编写一个代码,需要使用Tkinter(canvas)在python中移动一个图像 这给我制造了麻烦。图像正在显示,但未移动。
from Tkinter import *
root = Tk()
root.title("Click me!")
def next_image(event):
global toggle_flag
global x, y, photo1
# display photo2, move to right, y stays same
canvas1.create_image(x+10, y, image=photo1)
canvas1.create_image(x+20, y, image=photo1)
canvas1.create_image(x+30, y, image=photo1)
canvas1.create_image(x+40, y, image=photo1)
canvas1.create_image(x+50, y, image=photo1)
canvas1.create_image(x+60, y, image=photo1)
canvas1.create_image(x+70, y, image=photo1)
canvas1.create_image(x+100, y, image=photo1)
image1 = "C:\Python26\Lib\site-packages\pygame\examples\data\ADN_animation.gif" #use some random gif
photo1 = PhotoImage(file=image1)
# make canvas the size of image1/photo1
width1 = photo1.width()
height1 = photo1.height()
canvas1 = Canvas(width=width1, height=height1)
canvas1.pack()
# display photo1, x, y is center (anchor=CENTER is default)
x = (width1)/2.0
y = (height1)/2.0
canvas1.create_image(x, y, image=photo1)
canvas1.bind('<Button-1>', next_image) # bind left mouse click
root.mainloop()
Canvas提供了^{} 方法。参数是要移动的项,相对于上一位置的相对x偏移量,y偏移量。
您需要保存
create_image
的返回值以将其传递给move
方法。还要确保画布是可扩展的(
pack(expand=1, fill=BOTH)
在下面的代码中)根据评论进行更新
使用
after
,您可以安排在给定时间后调用函数。相关问题 更多 >
编程相关推荐