当前位置:   article > 正文

Python学习之turtle库_python画图窗口保留 turtle

python画图窗口保留 turtle

一、前言

  turtle的画笔可以想象成一个海龟(这也是turtle模块名字的由来)。
  turtle(海龟)Python内置的一个标准模块(库),它提供了绘制线、圆和其他形状的函数,使用该模块可以创建图形窗口,在图形窗口中通过简答重复的动作直观地绘制界面和图形。
  turtle的使用主要分为创建窗口设置画笔绘制图形(移动画笔)3个方面。

import turtle
import turtle as t		#这两种方式都可以,后者是将turtle简化,使用起来更加方便。
  • 1
  • 2

二、创建窗口

  图形窗口也成为画布(canvas)。控制台无法绘制图形,使用turtle模块绘制图形化界面需要先使用setup()函数创建图形窗口。

setup(width,height,startx=None,starty=None)
ex:	
	turtle.setup(800,600)
'''
width 是窗口的宽度
height 是窗口的高度
startx 是窗口在计算机屏幕上的横坐标
starty 是窗口在计算机屏幕上的纵坐标。
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

  参数widthheight的值为整数的时候表示以像素为单位的尺寸,值为小数的时候表示图形窗口的款或高与屏幕的而比例。
  参数startxstarty的取值可以为整数或None(默认值),当取值为整数的时候,分别表示图形窗口左侧、顶部与屏幕左侧、顶部的距离(单位为像素);当取值为None时,窗口位于屏幕中心。
  使用turtle模块实现图形化程序时,setup()不是必须的,如果程序中尾调用setup()函数,程序执行时会产生一个默认窗口。
<注意>
  使用turtle库在程序中绘制图形后应调用turtle库中的done()函数声明绘制结束,此时turtle的主循环会终止,但直到用户手动关闭图形窗口时,图形窗口才会退出。

三、设置画笔

  画笔(pen)的设置包括画笔属性(如尺寸、颜色)和画笔状态。turtle模块中定义了设置画笔属性和状态的函数。

(1)画笔属性函数

  turtle模块中用于设置画笔的属性有画笔尺寸、画笔移动速度和画笔颜色

turtle.pensize()	#设置画笔尺寸
turtle.speed()		#设置画笔的移动速度
turtle.color()		#设置画笔颜色
  • 1
  • 2
  • 3

  pensize()函数可以设置画笔绘制出的线条的宽度。若参数为空,则pensize()函数返回画笔当前的尺寸。width()函数是pensize()函数的别名,它们具有相同的功能。
  speed()函数的参数speed用于设置画笔移动速度,其取值范围为[1,10]内的整数,数字越大,速度越快。
  color()函数的参数color用于设置画笔的颜色,该参数的值有四种表示方法。
①字符串:
  如‘red’,yellow’

turtle.color('red')
  • 1

②RGB颜色的整数值
  每个值的取值范围为[0,255]

turtle.color(255,255,255)
turtle.color(0,0,0)
  • 1
  • 2

③RGB颜色的小数值
  每个值的取值范围为[0,1]

turtle.color(0.65,0.7,0.9)
turtle.color(1,1,1)
  • 1
  • 2

十六进制颜色
  如‘#FFFFFF’,‘BFA’

turtle.color('FFFFFF')
turtle.color('A22A2A')
  • 1
  • 2

(2)画笔状态与相关函数

  turtle中的画笔分为提起(up)和放下(down)2种状态。只有画笔为放下状态的时候,移动画笔,画笔上才会留下痕迹。turtle种的画笔默认为放下状态。

import turtle as t
t.srtup(500,500)
t.pendown()			#放下画笔
t.penup()			#提起画笔
t.done()
  • 1
  • 2
  • 3
  • 4
  • 5

penup()的别名为pu()pendown()的别名为pd()

四、绘制图形

  画笔在画布上,它可以向前、向后、向左、向右移动,画笔留下的痕迹,路径即为所绘制的图形。
  为了使图形出现在理想的位置,需要了解turtle的坐标系。turtle的坐标体系以窗口中心为原点,以右方为默认朝向,以原点右侧为x轴正方向,原点上方为y轴正方向。
  turtle模块种画笔控制函数主要分为移动控制、角度控制、图形绘制和图形填充3种。

(1)移动控制

  移动控制函数控制画笔向前、向后移动。

turtle.forward(dustance)		#向前移动
turtle.backward(distance)		#向后移动
goto(x,y=None)					#移动到指定位置
  • 1
  • 2
  • 3

函数forward()backward()的参数distance用于指定画笔移动的距离,单位为像素;函数goto()用于将画笔移动到画布上指定位置,该函数可以使用参数x,y分别接收表示目标位置的横坐标和纵坐标,也可以仅接收一个表示坐标向量的参数。

(2)角度控制

  角度控制函数可更改画笔朝向

turtle.right(degree)		#向右转动
turtle.left(degree)			#向左转动
seth(angle)					#转动到某个方向
  • 1
  • 2
  • 3

函数right()left()的参数degree用于指定画笔向右和向左转动的角度。函数seth()的参数angle用于设置画笔在坐标系种的角度,angle以x轴正向为0°,以逆时针方向为正方向。

import turtle as t
t.forward(200)
t.seth(-90)
t.foeward(200)
t.right(90)
t.forward(200)
t.left(-90)
t.forward(200)
t.right(90)
t.done()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

fd()forward()的别称,bd()backward()的别称。

(3)图形绘制

  turtle模块种提供了circle()函数,使用该函数可绘制以当前坐标为圆心,以指定像素值为半径的圆和弧。

turtle.circle(radius,extent=None,steps=None)
'''
	radius用于设置半径
	extent用于设置弧的角度
	steps用于设置步长,
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

  参数steps用于设置步长。若steps为默认值None,步长将自动计算;若给出步长,circle()函数可用于绘制正多边形

turtle.circle(100,steps = 3)	#可以画一个边长为100的等边三角形
  • 1

(4)图形填充

  turtle模块种可通过fillcolor()函数来设置填充颜色,使用begin_fill()函数和end_fill()函数填充颜色,实现 “面” 的绘制。

#以绘制一个被红色填充的圆为例
import turtle as t
t.fillcolor('red')		#设置填充颜色
t.begin_fill()			#开始填充
t.circle(20)
t.end_fill()			#结束填充
t.done()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/116964
推荐阅读
相关标签
  

闽ICP备14008679号