文章

Python turtle 接口参考

Python turtle 接口参考

Python turtle API 参考

更多细节见 Python turtle documentation 文档

绘图窗口设置

1
2
turtle.title('A python turtle demo')
turtle.setup(width=0.5, height=0.75, startx=None, starty=None)

画布设置

1
turtle.screensize(canvwidth=None, canvheight=None, bg=None)

画布背景图片

1
2
# 背景图片,必须为 _gif_ 格式,当 nopic 为 None 时取消背景图
turtle.bgpic(picname=None)

绘制文字

1
write(arg, move=False, align='left', font=('Arial', 8, 'normal'))

海龟动作

移动和绘制

函数说明
turtle.forward(distance) / fd前进
turtle.backward(distance)/ bk / back后退
turtle.setx(x)设置x坐标
turtle.sety(y)设置y坐标
turtle.goto(x, y=None) / setpos / setposition前往/定位
turtle.teleport(x, y=None, *, fill_gap=False)将海龟移到某个绝对位置
turtle.home()返回原点
turtle.right(angle) / rt右转
turtle.left(angle) / lt左转
turtle.setheading(to_angle) / seth()设置朝向
turtle.dot(size=None, *color)画点
turtle.circle(radius, extent=None, steps=None)画圆
turtle.stamp()印章
turtle.clearstamp()清除印章
turtle.clearstamps()清除多个印章
turtle.undo()撤消
turtle.speed(speed=None)速度(值 1-10 时数字越大越快,0 最快)

获取海龟的状态

函数说明
turtle.position() / pos返回海龟位置位置 (x,y)
turtle.xcor() / x返回 x 坐标
turtle.ycor() / y返回 y 坐标
turtle.heading()返回海龟的朝向
turtle.distance(x, y=None)返回当前位置到 (x,y) 的距离
turtle.towards(x, y=None)返回当前位置与 (x,y) 连线的方向

角度度量单位

函数说明
turtle.degrees(fullcircle=360.0)设置角度单位为度
turtle.radians()设置角度单位为弧度

画笔控制

绘图状态

函数说明
turtle.pendown() / pd / down画笔落下
turtle.penup() / pu / up画笔抬起
turtle.pensize(width=None) / width设置或返回画笔粗细
turtle.pen(pen=None, **pendict)设置或返回画笔对象
turtle.isdown()画笔是否落下

颜色控制

turtle 中,颜色值可以是颜色名字符串或 (r,g,b) 元组,其中r、g、b 分量介于 0 ~ 1

函数说明
turtle.color(*args)返回或设置画笔颜色和填充颜色
turtle.pencolor(*args)画笔颜色
turtle.fillcolor(*args)填充颜色

填充

函数说明
turtle.begin_fill()开始填充
turtle.end_fill()结束填充
turtle.filling()返回是否处于填充状态

更多绘图控制

函数说明
turltle.reset()请空所绘图形并重置为初始状态
turltle.clear()清空所绘制图形,但是不设置海龟

海龟状态

可见性

函数说明
turtle.showturtle() / st显示海龟
turtle.hideturtle() / ht隐藏海龟
turtle.isvisible()返回海龟是否可见

外观

函数说明
shape(name=None)形状
resizemode(rmode=None)大小调整模式,取值 autousernoresize
shapesize(stretch_wid=None, stretch_len=None, outline=None) / turtlesize形状大小
shearfactor(shear=None)剪切因子
settiltangle(angle)设置倾角
tiltangle(angle=None)倾角
tilt(angle)倾斜
shapetransform(t11=None, t12=None, t21=None, t22=None)变形
get_shapepoly()获取形状多边形

海龟事件

| 函数 | 说明 | | :————————————–: | :——: | | turtle.onrelease(fun, btn=1, add=None) | 鼠标释放 | | turtle.ondrag(fun, btn=1, add=None) | 鼠标拖动 |

屏幕事件

函数说明
turtle.listen(xdummy=None, ydummy=None)监听键盘事件
turtle.onkey()/onkeyreleaseo(fun, key)当键盘按下并释放
turtle.onkeypress(fun, key=None)当键盘按下
turtle.onscreenclick(fun, btn=1, add=None) / onclick鼠标单击
ontimer(fun, t=0)计时器事件(单位为 ms

特殊海龟方法

函数说明
turtle.begin_poly()开始记录多边形
turtle.end_poly()结束记录多边形
turtle.get_poly()获取多边形
turtle.clone()克隆
turtle.getturtle() / getpen获取海龟画笔
turtle.getscreen()获取屏幕
turtle.setundobuffer(size)设置撤消缓冲区
turtle.undobufferentries()撤消缓冲区条目数

窗口控制

函数说明
clearscreen()重置所有海龟
resetscreen()重置所有海龟
setworldcoordinates(llx, lly, urx, ury)设置世界坐标系

动画控制

函数说明
turtle.delay(delay=None)延迟(单位为毫秒
turtle.tracer(n=None, delay=None)追踪
turtle.update()更新

设置与特殊方法

函数说明
mode(mode=None)取值 standardlogoworld
colormode(cmode=None)颜色模式,取值 1.0 或 255
getcanvas()获取画布
getshapes()获取形状
register_shape() / addshape添加形状
turtles()所有海龟
window_height()窗口高度
window_width()窗口宽度

输入方法

函数说明
turtle.textinput(title, prompt)文本输入
numinput(title, prompt, default=None, minval=None, maxval=None)数字输入

Screen 类及其方法

Screen 类继承于 TurtleScreen 类,TurtleScreen 又继承自 TkinterCanvas 类,而 Canvas 表示绘图区域。

获取 Screen 实例

1
2
3
4
5
6
7
8
9
# 直接使用Screen类
from turtle import Screen
s = Screen()

# 使用Turtle实例的 Screen 方法
from turtle import Turtle
t = Turtle()
s = t.Screen()
turtle.TurtleScreen()

Screen 方法

函数名作用备注
bye()关闭绘图窗口 
exitonclick()当点击时退出 
title(titlestring)绘图窗口标题 

参考资料

本文由作者按照 CC BY 4.0 进行授权