python-tkinter模块图形分布移动(可键盘操作)

1.问题描述
在学习python开发GUI界面时,对于模块单元的位置摆放虽然有pack和grid和place可以供我们选择用于位置摆放,但始终觉得不够便捷,现在给大家提供一个新思路(reference:resource)

#!/usr/bin/python
# -*- coding: UTF-8 -*-

from tkinter import *

def moverectangle(event):  # 绑定方向键
    if event.keysym == "Up":
        canvas.move(1, 0, -5)  # 移动的是 ID为1的事物【move(2,0,-5)则移动ID为2的事物】,使得横坐标加0,纵坐标减5
    elif event.keysym == "Down":
        canvas.move(1, 0, 5)
    elif event.keysym == "Left":
        canvas.move(1, -5, 0)
    elif event.keysym == "Right":
        canvas.move(1, 5, 0)

tk = Tk()
canvas = Canvas(tk, width = 400, height = 400) #设置画布
canvas.pack() #显示画布
r = canvas.create_rectangle(180,180,220,220,fill="red") # 事件ID为1
print(r) #打印ID验证一下
m = canvas.create_rectangle(10,10,20,20,fill="blue") #事件ID为2
print(m) #打印ID验证一下
canvas.bind_all("",moverectangle) #绑定方向键与函数
canvas.bind_all("",moverectangle)
canvas.bind_all("",moverectangle)
canvas.bind_all("",moverectangle)
mainloop()

results:红色矩形可以通过矩形键盘实时移动
python-tkinter模块图形分布移动(可键盘操作)_第1张图片

你可能感兴趣的:(python,python-tkinter)