【目录】
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()
【终端显示】
【代码示例】
# 设置背景颜色为蓝色
window.bgcolor("blue")
# 设置其背景颜色为绿色
window.bgcolor("green")
5. 对象名.bgpic(picname=图片路径)-将图片设置为窗口背景
【代码示例】
import turtle
# 创建窗口对象
window = turtle.Screen()
# 将图片设置为窗口背景
# "背景图.png"是路径名,不是图片名
# 这里我用的是相对路径
window.bgpic(picname="背景图.png")
# 保持窗口打开状态
# 类名.方法名( )
turtle.done()
【终端显示】
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()
【终端显示】
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 像素