今天,我为大家带来的是Python下 Tkinter 模块中的 Canvas(画布)
Canvas是一个长方形的面积,图画或其他复杂的布局。可以放置在画布上的图形,文字,部件,或是帧.
语法:
这里是一个简单的语法来创建这个widget:
w = Canvas ( master, option=value, ... )
参数:
width(宽),
bg(背景颜色)
bd(边框宽度为像素。默认值是2)
Canvas的widget可以支持以下标准的条目:
arc .创建弧项目,它可以是一个和弦,饼图扇区,或是一个简单的弧.
coord = 10, 50, 240, 210
arc = canvas.create_arc(coord, start=0, extent=150, fill="blue")
filename = PhotoImage(file = "sunshine.gif")
image = canvas.create_image(50, 50, anchor=NE, image=filename)
line = canvas.create_line(x0, y0, x1, y1, ..., xn, yn, options)
oval . 在给定的坐标创建一个圆或椭圆。它的坐标两双。为椭圆的边界矩形左上角和底部右下角.
oval = canvas.create_oval(x0, y0, x1, y1, options)
polygon . 创建一个多边形的项目,必须有至少三个顶点.
oval = canvas.create_polygon(x0, y0, x1, y1,...xn, yn, options)
例子:
import tkinter
top = tkinter.Tk()
C = tkinter.Canvas(top, bg="blue", height=250, width=300)
coord = 10, 50, 240, 210
arc = C.create_arc(coord, start=0, extent=150, fill="red")
C.pack()
top.mainloop()
这将产生以下结果:
#!/usr/bin/python3.6
# -*- coding: UTF-8 -*-
from tkinter import * #导入 Tkinter 库
import time #导入time模块
tk = Tk() # 创建窗口对象的背景色
#创建一个宽为400,高为400,背景为蓝色色的画布
canvas = Canvas(tk,width=400,height=400,bg="blue")
canvas.pack()
#创建一个圆形
id = canvas.create_oval(10,10,100,100,fill="red")
def re(event):
if event.keysym == "w":
canvas.move(1,0,-1)
canvas.itemconfig(id, fill="yellow")
elif event.keysym == "s":
canvas.move(1, 0, 1)
canvas.itemconfig(id, fill="green")
elif event.keysym == "a":
canvas.move(1,-1,0)
canvas.itemconfig(id, fill="black")
elif event.keysym =="d":
canvas.move(1,1,0)
canvas.itemconfig(id, fill="red")
canvas.bind_all('',re) #键盘按下a向左移动,并变化颜色(黄色)
canvas.bind_all('',re) #键盘按下s向下移动,并变化颜色(绿色)
canvas.bind_all('',re) #键盘按下w向上移动,并变化颜色(黑色)
canvas.bind_all('',re) #键盘按下d向右移动,并变化颜色(红色)
tk.mainloop()