canvas组件 :
Python Tkinter 画布(Canvas)组件和 html5 中的画布一样,都是用来绘图的。您可以将图形,文本,小部件或框架放置在画布上
语法格式如下:
w = Canvas ( master, option=value, … )
from tkinter import *
root = Tk()
w = Canvas(root,width=200,height=100)
w.pack()
w.create_line(0,50,200,50,fill="yellow")#line = canvas.create_line(x0, y0, x1, y1, ..., xn, yn, options)
w.create_line(100,0,100,100,fill="red",dash=(4,4))# 创建一个长方形
w.create_rectangle(50,25,150,75,fill="blue"))# 创建一个长方形
mainloop()
运行结果如下
接下来做一个画板:
from tkinter import *
root = Tk()
w = Canvas(root,width=400,height=200)
w.pack()
def paint(event):
x1,y1=(event.x-1,event.y-1)
x2,y2=(event.x+1,event.y+1)
w.create_oval(x1,y1,x2,y2,fill="red")#定义画的点为一个极小圆
w.bind("<B1-Motion>",paint)
mainloop()
结果如下
canvas是一个真心强大的组件