Python的turtle库的窗口(Window)和画布(Canvas)
在Python的turtle库的窗口(Window)和画布(Canvas)是两个不同的概念:
窗口(Window):指的是turtle图形窗口的整体大小,包括了画布以及可能的工具栏、滚动条等界面元素。窗口的大小和位置可以通过turtle.setup(width, height, startx, starty)方法来设置,width, height设置窗口大小,startx, starty窗口在屏幕上的位置,单位是像素。
画布(Canvas):指的是实际用于绘图的区域,画布的大小可以通过turtle.screensize(canvwidth, canvheight, bg)方法来设置,其中canvwidth和canvheight分别代表画布的宽度和高度,单位是像素,bg是画布的背景颜色。
窗口(Window)和画布(Canvas)这两个大小是独立的,可以单独设置。如果画布大小设置得比窗口大,可能会出现滚动条以便查看整个画布;如果画布设置得比窗口小,画布背景色会填充整个窗口区域。
给出相关示例说明
示例 1:画布比窗口大
import turtle
# 设置窗口大小为400x400,窗口位置在屏幕坐标(100, 100)
turtle.setup(width=400, height=400, startx=100, starty=100)
# 设置画布大小为600x600(比窗口大)
turtle.screensize(canvwidth=600, canvheight=600, bg="lightblue")
# 绘制一些简单的图形
turtle.pendown()
turtle.circle(100)
# 完成绘制,保持窗口显示
turtle.done()
在这个示例中,窗口的大小是400x400,而画布的大小是600x600,所以会出现滚动条以便查看整个画布。运行效果如下:
示例 2:画布比窗口小
import turtle
# 设置窗口大小为600x600,窗口位置在屏幕坐标(100, 100)
turtle.setup(width=600, height=600, startx=100, starty=100)
# 设置画布大小为400x400(比窗口小)
turtle.screensize(canvwidth=400, canvheight=400, bg="lightgreen")
# 绘制一些简单的图形
turtle.pendown()
turtle.circle(100)
# 完成绘制,保持窗口显示
turtle.done()
在这个示例中,窗口的大小是600x600,而画布的大小是400x400,因此画布区域被窗口的背景颜色填充,整个画布区域内只有绘图区域。运行效果如下:
示例 3:画布和窗口大小相同
import turtle
# 设置窗口大小为500x500
turtle.setup(width=500, height=500, startx=100, starty=100)
# 设置画布大小为500x500,和窗口大小相同
turtle.screensize(canvwidth=500, canvheight=500, bg="yellow")
# 绘制一些简单的图形
turtle.pendown()
turtle.circle(100)
# 完成绘制,保持窗口显示
turtle.done()
用 turtle.setup() 来设置时,参数指定的尺寸通常是整个 Turtle 窗口的大小(包括标题栏、边框在内的外部边界)。可绘制区域(即“画布”)应比它稍小,否则,导致窗口出现滚动条。运行效果如下:
OK!