图形如下:
效果图
要点:
Canvas为绘画区域定义了一个(X,Y)的直角坐标系,X是水平标度,Y是垂直标度。在默认情况下,坐标按屏幕像素点来测量,画布左上角的坐标为(0,0),X和Y分别向右和向下增加。要在画布上绘制嵌入对象,至少需要提供一对坐标值(X,Y)来绝对定位。
全部代码如下:
from tkinter import * canvas=Canvas(width=525,height=300,bg='white') # 左上角为0,0 canvas.pack(expand=YES,fill=BOTH) canvas.create_line(100,100,200,200)#画线(前两个数值是起始点的X,Y坐标参数,后两个值是末端点的X,Y坐标参数) canvas.create_line(100,200,200,300) for i in range(1,20,2):#批量画线 canvas.create_line(0,i,50,i) canvas.create_oval(10,10,200,200,width=2,fill='blue')#画一个椭圆,边框宽度为2,填充蓝色 canvas.create_arc(200,200,300,100)#画一个圆弧,默认弧度extent为90度,200,200,300,100分别为圆弧所在矩形的左下角和右上角的坐标 canvas.create_rectangle(200,200,300,300,width=5,fill='red')#画一个长方形 canvas.create_line(0,300,150,150,width=10,fill='green') photo=PhotoImage(file=r'D:\Program Files (x86)\images\ora-lp4e.gif') canvas.create_image(325,25,image=photo,anchor=NW)#在东北角添加一张图片 widget=Label(canvas,text='Spam',fg='white',bg='black')#添加一个标签 widget.pack() canvas.create_window(100,100,window=widget) canvas.create_text(100,280,text='Ham')#添加一个文本 mainloop()