一、基本使用
turtle.write是Python turtle库的一个函数,用于在turtle图形窗口中输出字符串。它与turtle库中的其他函数一样,都需要导入turtle库后才能使用。
import turtle
turtle.write("Hello, world!")
turtle.done()
这段代码首先导入turtle库,然后使用turtle.write输出字符串”Hello, world!”,最后调用turtle.done()函数进入主循环(保持窗口显示)。在输出的字符串前面会自动添加一个小三角形图标。
在默认情况下,turtle.write函数输出的字符串位于当前海龟的位置,并且当前海龟的朝向即是字符串最后一个字符的朝向。如果想要改变字符串的位置或朝向,可以在函数参数中指定相应的参数。
二、控制字体和颜色
turtle.write函数还支持设定输出字符串的字体、字号和颜色等属性。字体和字号使用字体名称和像素大小来表示,颜色使用RGB格式或字符串颜色名(如”red”)来表示。
import turtle
turtle.write("Hello, world!", font=("Arial", 16, "normal"), align="center", move=True)
turtle.done()
这段代码改变了输出字符串的字体、大小、颜色和位置。其中font参数指定字体为Arial,大小为16像素,样式为normal(即普通样式);align参数指定字符串居中对齐;move参数指定输出字符串时是否移动当前海龟。
三、输出HTML标签
turtle.write函数还可以输出一些HTML标签,如
、
等。输出的HTML标签需要使用特殊的转义符”<“和”>”,否则turtle库会将它们解析成普通的字符串。
import turtle
turtle.write("<h1>Hello, world!</h1><p>This is a sample paragraph.</p>", align="center")
turtle.done()
这段代码向输出字符串中添加了一个h1标签和一个p标签,分别用于输出标题和段落。注意,输出的标签使用了转义符”<“和”>”包裹,以避免Turtle库将它们解析成字符串。输出字符串居中对齐。
四、设置背景图像
调用turtle.bgpic()函数可以向图形窗口添加一个背景图像。背景图像可以是一个图像文件(如PNG、JPEG等格式),也可以是一个由turtle编织的图案。
import turtle
turtle.bgpic("background.png")
turtle.write("Hello, world!", font=("Arial", 16, "normal"), align="center")
turtle.done()
这段代码向图形窗口添加了一个名为background.png的背景图像,并在其中输出了字符串”Hello, world!”。在默认情况下,字符串会显示在背景图像上,但可以使用screen.tracer(0)函数禁用渲染效果,只显示输出字符串。
五、创建文本框
turtle.write函数还支持创建一个文本框,用于用户输入字符串或编辑文本。创建文本框需要使用turtle.textinput()函数和turtle.text()函数。
import turtle
turtle.write("Click the screen to enter text...", align="center")
turtle.onscreenclick(lambda x, y: turtle.write(turtle.textinput("Enter text", "Enter some text: "), align="center"))
turtle.done()
这段代码为turtle图形窗口创建了一个事件处理函数。当用户单击窗口的任意位置时,事件处理函数会创建一个文本框,要求用户输入一段文本。用户输入完成后,文本框会自动关闭,输入的字符串会显示在窗口中央。
六、综合应用
下面是一个综合应用turtle.write函数的例子,它使用了turtle库的一些其他函数来创建一个复杂的图形和动画效果。
import turtle
def draw_star(t, size):
angle = 120
for side in range(5):
t.forward(size)
t.right(angle)
t.forward(size)
t.right(72 - angle)
def flash_star(t, size):
for _ in range(16):
t.color("gold")
draw_star(t, size)
t.color("white")
draw_star(t, size / 2)
screen = turtle.Screen()
turtle.speed(0)
screen.bgcolor("black")
flash_star(turtle, 100)
turtle.write("<h1>Starburst!</h1>", font=("Arial", 48, "bold"), align="center", move=True)
turtle.done()
这段代码部分参考了Peter Wentworth的书籍“Think Python”,用于绘制一颗五角星,并在窗口中心闪烁显示。首先创建了一个事件处理函数,它调用了draw_star函数来绘制一个五角星图形,并使用flash_star函数来制造闪烁效果。
在函数末尾使用turtle.write函数输出了一个h1标签,位于闪烁星图形之上。输出的标签使用了居中对齐,加粗样式和大型字体。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/200598.html