turtle - TurtleScreen/Screen 方法及对应函数[详解]

窗口控制

bgcolor(*args)
参数
args - 一个颜色字符串或三个取值范围 0..colormode 内的数值或一个取值范围相同的数值3元组
设置或返回 TurtleScreen 的背景颜色。

bgpic(picname=None)
参数
picname - 一个字符串, gif-文件名, "nopic", 或 None
设置背景图片或返回当前背景图片名称。如果 picname 为一个文件名,则将相应图片设为背景。如果 picname 为 "nopic",则删除当前背景图片。如果 picname 为 None,则返回当前背景图片文件名。

clear()
clearscreen()
从中删除所有海龟的全部绘图。将已清空的 TurtleScreen 重置为初始状态: 白色背景,无背景片,无事件绑定并启用追踪。
注解
此 TurtleScreen 方法作为全局函数时只有一个名字 clearscreen。全局函数 clear 所对应的是 Turtle 方法 clear。

reset()
resetscreen()
重置屏幕上的所有海龟为其初始状态。
注解
此 TurtleScreen 方法作为全局函数时只有一个名字 resetscreen。全局函数 reset 所对应的是 Turtle 方法 reset。

screensize(canvwidth=Nonecanvheight=Nonebg=None)
参数
canvwidth - 正整型数,以像素表示画布的新宽度值
canvheight - 正整型数,以像素表示画面的新高度值
bg - 颜色字符串或颜色元组,新的背景颜色
如未指定任何参数,则返回当前的 (canvaswidth, canvasheight)。否则改变作为海龟绘图场所的画布大小。不改变绘图窗口。要观察画布的隐藏区域,可以使用滚动条。通过此方法可以令之前绘制于画布之外的图形变为可见。
也可以用来寻找意外逃走的海龟 ;-)

setworldcoordinates(llxllyurxury)
参数
llx - 一个数值, 画布左下角的 x-坐标
lly - 一个数值, 画布左下角的 y-坐标
urx - 一个数值, 画面右上角的 x-坐标
ury - 一个数值, 画布右上角的 y-坐标
设置用户自定义坐标系并在必要时切换模式为 "world"。这会执行一次 screen.reset()。如果 "world" 模式已激活,则所有图形将根据新的坐标系重绘。
注意: 在用户自定义坐标系中,角度可能显得扭曲。

动画控制

delay(delay=None)
参数
delay - 正整型数
设置或返回以毫秒数表示的延迟值 delay。(这约等于连续两次画布刷新的间隔时间。) 绘图延迟越长,动画速度越慢。

tracer(n=Nonedelay=None)
参数
n - 非负整型数
delay - 非负整型数
启用/禁用海龟动画并设置刷新图形的延迟时间。如果指定 n 值,则只有每第 n 次屏幕刷新会实际执行。(可被用来加速复杂图形的绘制。) 如果调用时不带参数,则返回当前保存的 n 值。第二个参数设置延迟值 (参见 delay())。

update()
执行一次 TurtleScreen 刷新。在禁用追踪时使用。
另参见 RawTurtle/Turtle 方法 speed()。

使用屏幕事件

listen(xdummy=Noneydummy=None)
设置焦点到 TurtleScreen (以便接收按键事件)。使用两个 Dummy 参数以便能够传递 listen() 给 onclick 方法。

onkey(funkey)
onkeyrelease(funkey)
参数
fun - 一个无参数的函数或 None
key - 一个字符串: 键 (例如 "a") 或键标 (例如 "space")
绑定 fun 指定的函数到按键释放事件。如果 fun 值为 None,则移除事件绑定。注: 为了能够注册按键事件,TurtleScreen 必须得到焦点。(参见 method listen() 方法。)

onkeypress(funkey=None)
参数
fun - 一个无参数的函数或 None
key - 一个字符串: 键 (例如 "a") 或键标 (例如 "space")
绑定 fun 指定的函数到指定键的按下事件。如未指定键则绑定到任意键的按下事件。注: 为了能够注册按键事件,必须得到焦点。(参见 listen() 方法。)

onclick(funbtn=1add=None)
onscreenclick(funbtn=1add=None)
参数
fun - 一个函数,调用时将传入两个参数表示在画布上点击的坐标。
btn - 鼠标按钮编号,默认值为 1 (鼠标左键)
add - True 或 False -- 如为 True 则将添加一个新绑定,否则将取代先前的绑定
绑定 fun 指定的函数到鼠标点击屏幕事件。如果 fun 值为 None,则移除现有的绑定。
注解
此 TurtleScreen 方法作为全局函数时只有一个名字 onscreenclick。全局函数 onclick 所对应的是 Turtle 方法 onclick。

ontimer(funt=0)
参数
fun - 一个无参数的函数
t - 一个数值 >= 0
安装一个计时器,在 t 毫秒后调用 fun 函数。

mainloop()
done()
开始事件循环 - 调用 Tkinter 的 mainloop 函数。必须作为一个海龟绘图程序的结束语句。如果一个脚本是在以 -n 模式 (无子进程) 启动的 IDLE 中运行时 不可 使用 - 用于实现海龟绘图的交互功能。

输入方法

textinput(titleprompt)
参数
title - 字符串
prompt - 字符串
弹出一个对话框窗口用来输入一个字符串。形参 title 为对话框窗口的标题,prompt 为一条文本,通常用来提示要输入什么信息。返回输入的字符串。如果对话框被取消则返回 None。

numinput(titlepromptdefault=Noneminval=Nonemaxval=None)
参数
title -- 字符串
prompt -- 字符串
default -- 数值 (可选)
minval -- 数值 (可选)
maxval -- 数值 (可选)
弹出一个对话框窗口用来输入一个数值。title 为对话框窗口的标题,prompt 为一条文本,通常用来描述要输入的数值信息。default: 默认值, minval: 可输入的最小值, maxval: 可输入的最大值。输入数值的必须在指定的 minval .. maxval 范围之内,否则将给出一条提示,对话框保持打开等待修改。返回输入的数值。如果对话框被取消则返回 None。

设置与特殊方法

mode(mode=None)
参数
mode -- 字符串 "standard", "logo" 或 "world" 其中之一
设置海龟模式 ("standard", "logo" 或 "world") 并执行重置。如未指定模式则返回当前的模式。
"standard" 模式与旧的 turtle 兼容。"logo" 模式与大部分 Logo 海龟绘图兼容。"world" 模式使用用户自定义的 "世界坐标系"。注意: 在此模式下,如果 x/y 单位比率不等于 1 则角度会显得扭曲。
模式            初始海龟朝向      正数角度
"standard"    朝右 (东)             逆时针
"logo"           朝上 (北)             顺时针

colormode(cmode=None)
参数
cmode -- 数值 1.0 或 255 其中之一
返回颜色模式或将其设为 1.0 或 255。构成颜色三元组的 rgb 数值必须在 0..cmode 范围之内。

getcanvas()
返回此 TurtleScreen 的 Canvas 对象。供了解 Tkinter 的 Canvas 对象内部机理的人士使用。

getshapes()
返回所有当前可用海龟形状的列表。

register_shape(nameshape=None)
addshape(nameshape=None)
调用此函数有三种不同方式:
1. name 为一个 gif 文件的文件名, shape 为 None: 安装相应的图像形状。
2. name 为指定的字符串,shape 为由坐标值对构成的元组: 安装相应的多边形形状。
3.name 为指定的字符串, 为一个 (复合) Shape 类对象: 安装相应的复合形状。
将一个海龟形状加入 TurtleScreen 的形状列表。只有这样注册过的形状才能通过执行 shape(shapename) 命令来使用。

turtles()
返回屏幕上的海龟列表。

window_height()
返回海龟窗口的高度。

window_width()
返回海龟窗口的宽度。

Screen 专有方法, 而非继承自 TurtleScreen

bye()
关闭海龟绘图窗口。

exitonclick()
将 bye() 方法绑定到 Screen 上的鼠标点击事件。
如果配置字典中 "using_IDLE" 的值为 False (默认值) 则同时进入主事件循环。注: 如果启动 IDLE 时使用了 -n 开关 (无子进程),turtle.cfg 中此数值应设为 True。在此情况下 IDLE 本身的主事件循环同样会作用于客户脚本。

setup(width=_CFG["width"], height=_CFG["height"], startx=_CFG["leftright"], starty=_CFG["topbottom"])
设置主窗口的大小和位置。默认参数值保存在配置字典中,可通过 turtle.cfg 文件进行修改。
参数
width -- 如为一个整型数值,表示大小为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 50%
height -- 如为一个整型数值,表示高度为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 75%
startx -- 如为正值,表示初始位置距离屏幕左边缘多少像素,负值表示距离右边缘,None 表示窗口水平居中
starty -- 如为正值,表示初始位置距离屏幕上边缘多少像素,负值表示距离下边缘,None 表示窗口垂直居中

title(titlestring)
参数
titlestring -- 一个字符串,显示为海龟绘图窗口的标题栏文本
设置海龟窗口标题为 titlestring 指定的文本。

===
内容来源:官方文库
牛猫名言:最好的资料就是官方文档
===
本文链接:https://www.jianshu.com/p/2738f78af3ae
转载请注明,谢谢!
编辑:牛猫大侠

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,179评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,229评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,032评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,533评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,531评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,539评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,916评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,813评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,568评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,654评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,354评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,918评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,152评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,852评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,378评论 2 342

推荐阅读更多精彩内容