111. turtle库创建窗口-Screen类常用方法解析

文摘   教育   2024-04-27 22:05   云南  


【目录】


  • 1. 窗口和画布的定义

    • 1.1 定义差异

    • 1.2 创建方式

    • 1.3 功能用途

  • 2. Screen类常用方法

  • 3. turtle.Screen()-创建窗口对象

  • 4. 对象名.bgcolor("颜色")-设置窗口背景颜色

  • 5. 对象名.bgpic(picname=图片路径)-将图片设置为窗口背景

  • 6. 对象名.listen()-监听键盘事件

  • 7. window.mode("world")-设置绘图模式

  • 8. title(titlestring):设置窗口标题

  • 9. window_height()/window_width()-获取窗口的高度/宽度


【正文】

1. 窗口和画布的定义

窗口和画布在图形界面编程中是两个不同的概念。

1.1 定义差异

窗口:一个可视化的空间,它是操作系统中的一个元素。用于包含各种控件,如按钮、菜单、文本框等,用户可以通过与这些控件进行交互来实现某些功能。

画布:窗口内的一个区域,专门用于绘制图形,如直线、矩形、圆形等。

1.2 创建方式

创建窗口:调用tkinter库中的函数来生成一个窗口对象,并使其进入事件循环以保持窗口的运行状态。

创建画布:是在窗口内部创建一个用于绘图的区域,这通常涉及到设置画布的大小、位置等属性。

1.3 功能用途

窗口:图形用户界面的基本单位,不仅承载了画布,还包含了其他用户交互元素。它负责管理这些元素的显示和行为,以及处理用户的输入事件。

画布:专注于提供绘图的功能,它是图形输出的地方,所有的绘制操作都在画布上进行。

2. Screen类常用方法

Screen[skriːn]:屏幕。

Screen()是turtle库中的一个类,用于创建窗口对象。

类的首字母要大写哦!

Screen()类的一些常用的方法:

  • bgcolor(color):设置窗口的背景颜色。
  • bgpic(picname=None):将图片设置为窗口背景。
  • clear():清除画布上的所有图形。
  • clearscreen():清除画布上的所有图形并重置所有turtle状态。
  • exitonclick():当鼠标点击时关闭窗口。
  • getcanvas():返回画布对象。
  • getshapes():返回当前可用的形状列表。
  • listen()/onkey(fun, key=None):开始监听键盘事件。
  • mode(mode=None):设置绘图模式("standard"、"logo"或"world")。
  • onclick(fun, btn=1, add=None):绑定鼠标点击事件到指定函数。
  • onkey(fun, key):绑定键盘按键事件到指定函数。
  • onkeyrelease(fun, key):绑定键盘按键释放事件到指定函数。
  • onkeypress(fun, key=None):绑定键盘按键按下事件到指定函数。
  • ontimer(fun, t=0):在指定的时间后调用指定函数一次。
  • register_shape(shape=None, name=None):注册一个形状。
  • reset():重置所有Turtle状态。
  • screensize(canvwidth=None, canvheight=None, bg=None):设置画布大小和背景色。
  • setworldcoordinates(llx, lly, urx, ury):设置世界坐标系。
  • tracer(n=None, delay=None):控制绘图更新速度。
  • title(titlestring):设置窗口标题。
  • update():更新画布。
  • window_height()/window_width():获取窗口的高度/宽度。

3. turtle.Screen()-创建窗口对象

【代码示例】

# 导入turtle
import turtle

# 导入的是整个库,要调用库的某个类,库名要作为前缀
# 创建窗口对象:对象名=库名.类名( )
# 对象名:window
# 库名:turtle
# 类名:Screen
window = turtle.Screen()

# 保持窗口打开状态
# 类名.方法名( )
turtle.done()

turtle.done() 函数使得 turtle 图形窗口在绘制完成后保持打开状态,直到用户手动关闭它。

4. 对象名.bgcolor("颜色")-设置窗口背景颜色

bgcolor:背景颜色。

【代码示例】

import turtle

# 创建窗口对象
window = turtle.Screen()

# 设置窗口背景颜色为粉色
window.bgcolor("pink")

# 保持窗口打开状态
# 类名.方法名( )
turtle.done()

【终端显示】

1-设置窗口的背景颜色

【代码示例】

# 设置背景颜色为蓝色
window.bgcolor("blue")

# 设置其背景颜色为绿色
window.bgcolor("green")

5. 对象名.bgpic(picname=图片路径)-将图片设置为窗口背景

【代码示例】

import turtle

# 创建窗口对象
window = turtle.Screen()

# 将图片设置为窗口背景
# "背景图.png"是路径名,不是图片名
# 这里我用的是相对路径
window.bgpic(picname="背景图.png")

# 保持窗口打开状态
# 类名.方法名( )
turtle.done()

【终端显示】

3-背景窗口

6. 对象名.listen()-监听键盘事件

【代码示例】

import turtle

# 创建窗口对象
window = turtle.Screen()

# 开始监听键盘事件
window.listen()

# 绑定键盘按键事件到指定函数
# 定义一个名为my_function的函数
def my_function():
    print("Key pressed!")

# onkey()方法,将my_function函数绑定到空格键("space")上
# 当用户按下空格键时,my_function函数将被自动调用。
window.onkey(my_function, "space")

# 保持窗口打开状态
turtle.done()

当你按下空格键时,将打印出"Key pressed!"。

7. window.mode("world")-设置绘图模式

【代码示例】

import turtle

# 创建窗口对象
window = turtle.Screen()

# 设置绘图模式为标准模式
window.mode("standard")

# 设置绘图模式为Logo模式
window.mode("logo")

# 设置绘图模式为世界模式
window.mode("world")

# 获取当前绘图模式
current_mode = window.mode()
print(current_mode)

# 保持窗口打开状态
turtle.done()

【参数解析】

mode()方法用于设置绘图模式,它接受一个参数mode,表示要设置的绘图模式。

mode参数可以是以下三个字符串之一:

  • "standard":标准模式,使用笛卡尔坐标系进行绘图。
  • "logo":Logo模式,使用极坐标系进行绘图。
  • "world":世界模式,使用地理坐标系进行绘图。

如果mode参数为None,则返回当前绘图模式。

8. title(titlestring):设置窗口标题

【代码示例】

import turtle

# 创建窗口对象
window = turtle.Screen()

# 设置窗口标题为"安迪python学习笔记"
window.title("安迪python学习笔记")

# 保持窗口打开状态
turtle.done()

【终端显示】

4-设置标题

9. window_height()/window_width()-获取窗口的高度/宽度

【代码示例】

import turtle

# 创建一个新的turtle窗口
window = turtle.Screen()

# 获取窗口的高度和宽度
# height = 变量名
# window = 对象名
# window_height 是 window 对象的一个方法 
# 调用了window对象的window_height()方法
# 该方法返回窗口的高度(以像素为单位)
height = window.window_height()
width = window.window_width()

# 打印窗口的高度和宽度
# 使用f-string格式化字符串的方式,打印出窗口的高度信息
print(f"Window height: {height} 像素")
print(f"Window width: {width} 像素")

# 关闭turtle窗口
window.bye()
Window height: 540 像素
Window width: 640 像素


安迪python学习笔记
python学习笔记,适合初学者。
 最新文章