使用的控件是Canvas(画布)
代码:
import tkinter as tk
import time
def ballmove(event): #控制画好的正方形移动
#print(event.keysym)
#用键盘控制上下左右移动
if event.keysym == "Right": #方向右
canvs.move(1,10,0)
elif event.keysym == "Left": #方向左
canvs.move(1, -10, 0)
elif event.keysym == "Up": #方向上
canvs.move(1, 0, -10)
elif event.keysym == "Down": #方向下
canvs.move(1, 0, 10)
root = tk.Tk()
canvs = tk.Canvas(root,height=1000,width=1000)
canvs.pack()
canvs.create_rectangle(20,20,40,40,fill="red") #先画一个正方形
canvs.bind_all('<KeyPress-Left>',ballmove)
canvs.bind_all('<KeyPress-Right>',ballmove)
canvs.bind_all('<KeyPress-Up>',ballmove)
canvs.bind_all('<KeyPress-Down>',ballmove)
创建好的窗口和画布:
移动:
向右移动一次:
不太明显,在向右移动十次:
注意:move方法的参数
move(控件的编号,向x轴移动的距离,向y轴移动的距离)
再次注意:画布的坐标是从左上角开始为(0,0),x轴是向右为正,y轴是向下正,反之为负。