python turtle绘图
简介:
python 2.6引入的一个简单的绘图工具,俗称为海龟绘图。官网: https://docs.python.org/2/library/turtle.html
使用:
2.6以上自带,使用方法: import turtle
3.x以上使用的话,可通过pip进行安装,命令为:pip/pip3 install turtle。 应该会有错误。类似如下:
看图示,可以知道,该错误是安装包turtle下的setup.py文件第40行的语法错误。因此我们可以通过如下方式解决:
-- 根据下载地址,下载其安装包: https://files.pythonhosted.org/packages/ff/f0/21a42e9e424d24bdd0e509d5ed3c7dfb8f47d962d9c044dba903b0b4a26f/turtle-0.0.2.tar.gz -- 下载到指定目录后,解压安装包,打开setup.py文件,找到第40行: -- 修改其语法错误: 原:except ValueError, ve: 新:except (ValueError, ve): -- 然后使用命令: pip/pip3 install -e turtle的安装目录
这样的话,就可以正确安装使用了。
常用方法:
关于箭头的说法有的人会说海龟,有的人也会认为是箭头,注意下
方法 | 说明 |
turtle.screensize(canvwidth=None,canvheight= None,bg= None) |
设置画布大小,宽高背景颜色,其中宽高为像素,比如: turtle.screensize(400,300,'blue') |
turtle.setup(width=None,height=None,startx=None,starty=None) |
设置画布大小 width, height 为整数时,表示像素;若为浮点数时,表示栈屏幕的比例,默认情况下width为0.5,height为0.75
startx,starty 表示左上角顶点的位置,以像素为单位,默认窗口居中
若starx为正,表示从左侧开始计算,若为负,则从右侧边缘开始计算
若starty为正,表示从顶部计算,若为负,表示从下边缘计算,比如:
turtle.setup(width=0.5, height=0.75, startx=0, starty=0)
|
turtle.showturtle() | 设置箭头可见,别名: st, 即turtle.st() |
turtle.hideturtle()
|
设置箭头不可见,别名: ht
|
turtle.isvisible() | 获取箭头是否可见,若可见为True,否则为False |
turtle.setheading(to_angle=None) |
设置箭头朝向,别名: seth,比如: turtle.seth(90) |
turtle.setx(x=None) | 设置箭头的x坐标 |
turtle.sety(y=None) | 设置箭头的y坐标 |
turtle.goto(x=None, y=None) | 设置画笔移动到指定位置,别名:setpos | setposition | goto |
turtle.home() | 设置画笔的位置为原点,即为turtle.goto(0,0) turtle.setheading(0) |
turtle.pensize(width=None) | 设置画笔宽度;别名: width |
turtle.pencolor('blue') | 设置画笔的颜色,可使用字符串如"blue"或者RGB值比如(255,2,55) |
turtle.penup() | 画笔移动时,不绘制;别名: pu | up |
turtle.pendown() | 画笔移动时,绘制;别名: pd | down |
turtle.isdown() | 画笔是否在绘制,若pendown则True,若penup则False |
turtle.speed(s=0) |
画笔的绘制速度,取值范围[0,10], 其取值范围阶段为:(1,3,6,10,0)分别对应(最慢,慢,正常,快,超快) |
turtle.forward(distance=None) | 向当前画笔方向移动distance像素长度,别名:fd |
turtle.backward(distance=None) | 向当前画笔反方向移动distance像素长度,别名:back | bk |
turtle.right(angle) | 顺时针旋转角度,别名:rt |
turtle.left(angle) | 逆时针旋转角度,别名:lt |
turtle.fillcolor('red') | 设置图形填充颜色,可使用字符串如"blue"或者RGB值比如(255,2,55) |
turtle.begin_fill() | 设置图形开始填充 |
turtle.end_fill() | 设置图形填充完成 |
turtle.circle(radius, extent=None, steps=None) |
绘制圆.参数依次为半径,角度,绘制的步数 若半径为正,则圆心在画笔的左边,若为负则在画笔的右边;后两个参数可省略,默认为360度,步数为1 |
turtle.write(txt, move=True, align='left', font=('Arial',30,'normal')) | 编写文本,txt为字符串文本,move为True或者False,align为left,center或者right, font为文本属性 |
turtle.color(color1, color2) | 设置画笔的颜色和填充颜色 |
turtle.dot(size=None,color) | 绘制指定颜色的大小的原点,要求size >= 1 |
turtle.stamp() | 复制当前图形 |
turtle.clear() | 清空窗口,但turle的位置和状态不会改变 |
turtle.reset() | 清空窗口,重置turtle的状态 |
turtle.undo() | 撤销turtle上一个动作 |
turtle.done( ) | 绘图完成,该接口不会使得绘图完成后关闭,放置在程序的最后一行 |
turtle.mainloop() | 启动事件循环 |
turtle.delay(delay=None) | 设置已毫秒为单位的绘图延迟 |
turtle.begin_poly() | 开始记录多边形的顶点。当前的箭头位置是多边形的第一个顶点 |
turtle.end_poly() | 停止记录多边形的顶点,此处顶点位置将与第一个顶点相连 |
turtle.get_poly() | 获取最后记录的多边形 |
关于示例:在网上参考了一些网友的代码,整理到了GitHub中,仅用于学习使用:
https://github.com/wangxuhe/Python/tree/master/_turtle