一、学习目标
1.Turtle库的简介
2.调用Turtle库
3.绘画起点和方向
4.画布
二、知识点
1.Turtle库的简介
Turtle库是Python语言中一个很流行的绘图图像函数库,中文意思是甲鱼、海龟、,所以也称为海龟库,Turtle非常容易操作,可以用它画出很多奇妙的图案。
2.调用Turtle库
在Python3以上版本,系统将Turtle库内置在Python库中,因此用户不需要额外安装就可以直接导入使用,具体命令是import turtle。
3.绘画起点和方向
一个Turtle实际上是一个对象,在导入Tuertle模块时,就等于创建了该对象,然后就可以调用Turtle对象的各种方法完成不同的操作。
当创建一个Turtle对象时,它的位置默认被设定在窗口的中心,坐标(0,0)处,用笔来绘制图形,它的方向默认被设置为向右(东)。
4.画布
画布(canvas)就是用于绘图的区域,可以根据需要设置它的大小和初始位置。
1)设置画布大小
设置画布大小可以用以下两种方法实现
turtle.screensize(),基本格式如下
turtle.screensize(canvwidth = None,cnvheight = None,bg = None)
其中参数canvwidth、cnvheight分别表示画布的宽、高,以像素为单位;参数表示画布的背景颜色,对应颜色用英文表示就行了,三个参数可以为空值(None)。
三、代码展示
1.在交互式环境下,利用turtle.screensize( )设置画图大小
2.在交互式环境下,利用turtle.setup( )设置画布
3.利用turtle.pen( )查看画笔具有的属性
4.利用Tuertle模块画一边长为100像素的正方形
5.利用Tuertle模块画圆
6.改变上一个的画笔起始位置,画圆
7.利用turtle.circle( )画多边形
下面以一个任务为例子
源代码示列
import turtle as t
def sanjiaoxing():
t.penup()
t.goto(0,100)
t.pendown()
for i in range(3):
t.seth(i*120)
t.fd(100)
def yuan():
t.penup()
t.goto(50,100)
t.pendown()
t.color('red')
t.circle(60)
def zhengfangxing():
t.penup()
t.goto(-100,100)
t.pendown()
t.color('blue')
t.begin_fill()
t.fillcolor('green')
for i in range(4):
t.forward(80)
t.left(90)
def juxing():
t.penup()
t.goto(-200,250)
t.pendown()
t.color('blue')
t.begin_fill()
t.fillcolor('blue')
for i in range(1,5):
if i % 2 == 1:
n = 120
elif i % 2 == 0:
n = 80
t.forward(n)
t.left(90)
t.end_fill()
t.penup()
def wujiaoxing():
t.clear()
t.penup()
t.setx(-100)
t.sety(100)
t.write("五角星",align='left',font=('Arial',20,'normal'))
t.penup()
t.goto(-80,0)
t.pendown()
t.pensize(2)
t.pencolor('red')
t.goto(-100,0)
t.color("red","green")
for x in range(1,9):
t.forward(100)
t.left(225)
t.end_fill()
def xiangrikui():
t.penup()
t.setx(330)
t.sety(200)
t.delay(20)
t.pendown()
t.pencolor("black")
t.write("向日葵",align='right',font=('Arial',20,'normal'))
t.penup()
t.goto(200,-50)
t.pendown()
t.pencolor("red")
for x in range(1,20):
t.forward(200)
t.left(95)
def aoyunwuhuan():
t.clear()
t.penup()
t.setx(-160)
t.sety(220)
t.pencolor("red")
t.write("中国加油,武汉加油",align='center',font=('Arial',30,'normal'))
t.penup()
x = -200
y = 50
r = 60
t.goto(x,y)
t.pendown()
t.pensize(10)
t.pencolor('blue')
t.circle(r)
t.penup()
t.goto(x + 2.5 * r,y)
t.pendown()
t.pensize(10)
t.pencolor('black')
t.circle(r)
t.penup()
t.goto(x + 2.5 * r * 2,y)
t.pendown()
t.pensize(10)
t.pencolor('red')
t.circle(r)
t.penup()
t.goto(x + (2.5 * r) * 0.5,y - r)
t.pendown()
t.pensize(10)
t.pencolor('yellow')
t.circle(r)
t.penup()
t.goto(x + (2.5 * r) * 0.5 +2.5 * r,y - r)
t.pendown()
t.pensize(10)
t.pencolor('green')
t.circle(r)
t.penup()
i = 1
while i <= 10:
a = input("请输入需要绘制的图形:1(三角形)/2(正方形)/3(矩形)/4(圆)/5(五角星)/6(向日葵)/7(奥运五环)")
if a=='1':
sanjiaoxing()
elif a=='2':
zhengfangxing()
elif a=='3':
juxing()
elif a=='4':
yuan()
elif a=='5':
wujiaoxing()
elif a=='6':
xiangrikui()
elif a=='7':
aoyunwuhuan()
i = i + 1
运行结果为:
交互式环境下
- 今天主要学习了python的图形界面设计,使用了turtle画图,在交互式环境下现将一个画板设置出来,然后再设置边宽长度,Turtle非常容易操作,可以用它画出很多图案,它可以直接导入使用,具体命令是import turtle,在运行中会运用到很多的运动命令、画笔控制命令和全局控制命令。利用turtle模块绘图时,系统会自行弹出一个窗体用来装载绘制的图片,绘图窗体处的位置和大小可以借助turtle.setup()方法实现。