Python GUI:高级作图tkinter模块的常用函数基本的动画和事件绑定
2016-03-05 15:44
1186 查看
移动的动画
>>> from tkinter import * >>> import time >>> tk = Tk() >>> canvas = Canvas(tk,width=400,height=500) >>> canvas.pack() >>> canvas.create_polygon(10,10,10,60,50,35) 1 >>> for x in range(0,60): #move 第一个参数是id,后面两个是坐标 canvas.move(1,5,5) tk.update() time.sleep(0.5) >>>
事件绑定
当检测到某些event时做某些动作def movetriangle(evevt):
canva.move(1,5,0)
from tkinter import * tk = Tk() canvas = Canvas(tk,width=400,height=500) canvas.pack() canvas.create_polygon(10,10,10,60,50,35) def movetriangle(event): canvas.move(1,5,50) canvas.bind_all('<KeyPress-Return>',movetriangle)
来一个实时的:
from tkinter import * tk = Tk() canvas = Canvas(tk,width=400,height=500) canvas.pack() canvas.create_polygon(10,10,10,60,50,35) def movetriangle(event): if event.keysym == 'Up': canvas.move(1,0,-3) elif event.keysym == 'Down': canvas.move(1,5,50) elif event.keysym == 'Left': canvas.move(1,-3,0) else: canvas.move(1,3,0) canvas.bind_all('<KeyPress-Up>',movetriangle) canvas.bind_all('<KeyPress-Down>',movetriangle) canvas.bind_all('<KeyPress-Left>',movetriangle) canvas.bind_all('<KeyPress-Return>',movetriangle) canvas.bind_all('<KeyPress-Right>',movetriangle)
move 中的id
canvas.create_polygon(10,10,10,60,50,35)这个指令是返回一个数字,可以把这个数字赋值给一个对象:
triangle= canvas.create_polygon(10,10,10,60,50,35)
canvas.move(triangle,2,2)
itemconfig 配置里面的项目
from tkinter import * tk = Tk() canvas = Canvas(tk,width=400,height=500) canvas.pack() triangle=canvas.create_polygon(10,10,10,60,50,35) def movetriangle(event): if event.keysym == 'Up': canvas.move(triangle,0,-3) elif event.keysym == 'Down': canvas.move(triangle,5,50) elif event.keysym == 'Left': canvas.move(triangle,-3,0) else: canvas.move(triangle,3,0) #itemconfig 用法 canvas.itemconfig(triangle,fill = 'red') canvas.itemconfig(triangle,outline = 'blue') canvas.bind_all('<KeyPress-Up>',movetriangle) canvas.bind_all('<KeyPress-Down>',movetriangle) canvas.bind_all('<KeyPress-Left>',movetriangle) canvas.bind_all('<KeyPress-Return>',movetriangle) canvas.bind_all('<KeyPress-Right>',movetriangle)
相关文章推荐
- Python GUI:高级作图turtle模块的常用函数.md
- python学习---模拟人生
- Python扫描端口
- Python json解析记录
- 以cochrane抓取recipe为例,谈谈recursions参数的作用
- Python中麻烦的缩进
- 用Python和FFmpeg查找大码率的视频文件
- Python 的条件和循环语句以及与它们相关的部分
- calibre的recipe接口(API)之——参数设置
- unhashable
- 创建web2py项目
- 使用Python保存网页上的图片或者保存页面为截图
- PYTHON之路(六)
- numpy.loadtxt
- numpy.load
- numpy.mean
- python快速入门
- Python发送form-data请求及拼接form-data内容的方法
- numpy.argsort
- Python Basics