窗口控制

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

海龟绘图窗口就是在运行了导入turtle模块并调用了绘图方法的Python文件后,打开的窗口。该窗口默认的宽度为屏幕的50%,高度为屏幕的75%,背景为白色,位于屏幕的中心位置。在绘图时,我们可以设置它的大小、颜色和初始位置等。另外,也可以设置它的标题、背景颜色、背景图片等。下面分别进行介绍。

设置窗口的尺寸和初始位置

在海龟绘图中,提供了setup()方法设置海龟绘图窗口的尺寸、颜色和初始位置。setup()方法的语法如下:

turtle.setup(width="width", height="height", startx="leftright", starty="topbottom")

参数说明:

l  width :设置窗口的宽度,可以是表示大小为多少像素的整型数值,也可以是表示屏幕占比的浮点数值;默认为屏幕的50%。

l  height :设置窗口的高度,可以是表示大小为多少像素的整型数值,也可以是表示屏幕占比的浮点数值;默认为屏幕的50%。

l  startx :设置窗口的x轴位置,设置为正值,表示初始位置距离屏幕左边缘多少像素,负值表示距离右边缘,None表示窗口水平居中。

l  starty :设置窗口的y轴位置,设置为正值,表示初始位置距离屏幕上边缘多少像素,负值表示距离下边缘,None表示窗口垂直居中。

例如,设置窗口宽度为400,高度为300,距离屏幕的左边缘50像素,上边缘30像素,代码如下:

turtle.setup(width=400, height=300, startx=50, starty=30)

再例如,设置宽度和高度都为屏幕的50%,并且位于屏幕中心,代码如下:

turtle.setup(width=.5, height=.5, startx=None, starty=None)

设置窗口标题

海龟绘图的主窗口默认的标题为“Python Turtle Graphics”,可以通过title()方法为其设置新的标题。title()方法的语法如下:

turtle.title(titlestring)

其中,titlestring参数用于指定标题内容。

例如,将海龟绘图窗口的标题设置为“绘制第一只海龟”,代码如下:

turtle.title('绘制第一只海龟')

程序运行结果如图15.6所示。

图15.6  设置窗口的标题

设置窗口的背景颜色

海龟绘图的主窗口默认的背景颜色为白色,通过bgcolor()方法可以改变其背景颜色。bgcolor()方法的语法格式如下;

turtle.bgcolor(*args)

args参数为可变参数,可以是一个颜色字符串(可以使用英文颜色或者十六进制颜色值,常用的颜色字符串如表15.1所示);也可以是三个取值范围在0~cmode之间的数值(如1.0,0.5,0.5,分别代表r,g,b 的值),还可以是一个取值范围相同的包括3个数值元素(取值范围在0~cmode)的元组(如(1.0,0.5,0.5),分别代表r,g,b的值)。

说明: cmode为颜色模式,其值为数值1.0 或255。海龟绘图默认为1.0。如果想要设置为255,可以通过

以下代码设置:

turtle.colormode(255)

执行上面代码后,cmode的值为255,此时args 参数可以设置为“(192,255,128)”或者“192,255,128”。

表15.1  常用的颜色字符串

颜    色

中文颜 色

英 文 颜 色

十六进制颜色值

255模式颜色值

1.0模式颜色值

浅粉色

lightpink

#FFB6C1

255,182,193

1.0,0.73,0.75

粉红

pink

#FFC0CB

255,192,203

1.0,0.75,0.79

深粉色

deeppink

#FF1493

255,20,147

1.0,0.07,0.57

紫色

purple

#800080

128,0,128

0.5,0,0.5

纯蓝色

blue

#0000FF

0,0,255

0,0,1

宝蓝色

royalblue

#4169E1

65,105,225

0.25,0.4,0.88

天蓝色

skyblue

#87CEEB

135,206,235

0.53,0.8,0.92

浅蓝色

lightblue

#ADD8E6

173,216,230

0.67,0.79,0.9

蓝绿色

cyan

#00FFFF

0,255,255

0,1,1

墨绿色

darkslategray

#2F4F4F

47,79,79

0.18,0.31,0.31

淡绿色

lightgreen

#90EE90

144,238,144

0.56,0.93,0.56

绿黄色

lime

#00FF00

0,255,0

0,1,0

纯绿色

green

#008000

0,128,0

0,0.5,0

纯黄色

yellow

#FFFF00

255,255,0

1,1,0

金色

gold

#FFD700

255,215,0

1,0.84,0

橙色

orange

#FFA500

255,165,0

1,0.65,0

纯红色

red

#FF0000

255,0,0

1,0,0

浅灰色

lightgray

#D3D3D3

211,211,211

0.83,0.83,0.83

灰色

gray

#808080

128,128,128

0.5,0.5,0.5

纯黑色

black

#000000

0,0,0

0,0,0

纯白色

white

#FFFFFF

255,255,255

1,1,1

例如,设置窗口背景颜色为淡绿色,可以使用下面的代码:

turtle.bgcolor('lightgreen')

或者

turtle.bgcolor(0.56,0.93,0.56)

再或者

turtle.colormode(255) # 设置颜色模式

turtle.bgcolor(144,238,144)

设置窗口的背景图片

在海龟绘图中,可以使用bgpic()方法为窗口设置指定的图片作为背景。bgpic()方法的语法如下:

turtle.bgpic(picname=None)

其中,picname参数用于指定背景图片的路径。可以使用相对路径或者绝对路径。例如,将要作为背景的图片放置在与Python文件相同的目录下,名称为mrbg.png,那么可以使用下面的代码将其设置为窗口的背景:

turtle.bgpic('mrbg.png')

程序运行效果如图15.7所示。

图15.7  为窗口设计背景

清空屏幕上的绘图

在海龟绘图中,清空屏幕上绘图主要有3个方法,下面分别进行介绍。

l  reset()方法

reset()方法用于复位绘图,即删除屏幕中指定海龟的绘图,并且让该海龟回到原点并设置所有变量为默认值。

例如,要删除屏幕上名称为t_ufo的海龟的绘图,并让它回到原点,可以使用以下代码:

t_ufo.reset()

l  clear()方法

clear()方法用于从屏幕中删除指定海龟的绘图,但不移动海龟。海龟的状态和位置以及其他海龟的绘图不受影响。

例如,要删除屏幕上名称为t_ufo的海龟的绘图,并让它在原地不动,可以使用以下代码:

t_ufo.clear()

l  clearscreen()方法

clearscreen()方法不仅会清空绘图,也会清空背景颜色及图片,并且海龟会回到原点。

例如,要删除屏幕上所有海龟的绘图,并让它回到原点,可以使用以下代码:

turtle.clearscreen()

说明:使用clearscreen()方法清空屏幕时,将海龟窗口重置为初始状态,即白色背景,无背景图片,无

事件绑定并启用追踪。

关闭窗口

在海龟绘图中,可以通过bye()方法关闭窗口。例如,在绘制图形后,直接关闭当前窗口,代码如下:

turtle.bye()

说明:在海龟绘图中,也可以使用exitonclick()方法实现单击鼠标左键时关闭窗口。

动手试一试

任务一:创建一个水果消消乐游戏的窗口

本任务要求:创建一个水果消消乐游戏的窗口,要求窗口标题为“缤纷水果消消乐”,背景颜色为淡绿色,窗口大小为450*450,效果如图15.8所示。

任务二:创建公筷公勺的倡议窗口

本任务要求:创建一个公筷公勺倡议窗口,要求窗口标题为“公筷公勺从我做起”,窗口大小为800*800,效果如图15.9所示。

图15.8  创建一个水果消消乐游戏的窗口

图15.9  创建公筷公勺倡议窗口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙子味冰可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值