Tkinter Canvas图形编程基础教程

需积分: 5 1 下载量 81 浏览量 更新于2024-08-26 收藏 51KB DOCX 举报
"tkinter的canvas基本用法" tkinter是Python中最常用的图形用户界面库,它允许开发者创建GUI(图形用户界面)应用。在tkinter中,Canvas组件是一个非常重要的部分,它提供了一个画布区域,可以在其中绘制各种图形,如线条、矩形、椭圆等。下面将详细介绍tkinter的canvas基本用法。 1. 创建窗口: 要创建一个tkinter窗口,你需要导入`tkinter`模块,并使用`Tk()`函数创建一个顶级窗口。例如: ```python import tkinter as tk root = tk.Tk() root.title('弹球') root.mainloop() ``` 这里,`root`是窗口的实例,`title()`方法用于设置窗口的标题,`mainloop()`方法则使窗口持续显示并处理用户事件。 2. 创建画布: 在窗口中创建一个Canvas对象,需要指定窗口引用、背景色、宽度和高度。例如: ```python canvas = tk.Canvas(root, bg='blue', width=500, height=400) canvas.pack() ``` `pack()`方法将画布放置到窗口中,确保它占据可用空间。 3. 在画布中创建图形: - 椭圆:`create_oval()`方法用于创建椭圆,需要指定椭圆的边界坐标(左上角和右下角)以及填充颜色。例如: ```python xiaoqiu = canvas.create_oval(10, 10, 25, 25, fill='red') ``` - 矩形:`create_rectangle()`方法用于创建矩形,参数与椭圆类似。例如: ```python qiupai = canvas.create_rectangle(10, 40, 110, 50, fill='red') ``` 4. 移动画布中图形的位置: 使用`move()`方法可以改变图形的位置,传入图形的名字和在x轴、y轴上的位移量。例如: ```python canvas.move(xiaoqiu, 245, 100) canvas.move(qiupai, 200, 300) ``` 5. 获取画布中图形的位置: 使用`coords()`方法获取图形的坐标,它会返回一个包含四个数字的列表,分别代表图形左上角和右下角的坐标。例如: ```python pos = canvas.coords(xiaoqiu) ``` 6. 键盘上左右键的移动: 要监听键盘事件,需要绑定事件处理器。例如,可以监听左右箭头键来移动图形: ```python def move_left(event): canvas.move(xiaoqiu, -10, 0) def move_right(event): canvas.move(xiaoqiu, 10, 0) root.bind('<Left>', move_left) root.bind('<Right>', move_right) ``` 这里,`bind()`方法将事件处理器与键盘事件关联,当按下左箭头键时,`move_left`函数会被调用,右箭头键则触发`move_right`。 7. 其他功能: - 删除图形:`delete()`方法用于删除图形,例如`canvas.delete(xiaoqiu)`将删除名为`xiaoqiu`的图形。 - 图形属性:可以通过`itemconfigure()`方法修改图形的属性,如颜色、边框宽度等。 - 图像加载:可以使用`PhotoImage`类加载图像,并在Canvas上显示。 tkinter的canvas提供了丰富的绘图功能,通过这些基本操作,开发者可以创建出复杂的图形用户界面,并实现动态交互。结合事件处理和动画机制,可以创建出更加生动的应用程序。