📜  Python Tkinter – 画布小部件(1)

📅  最后修改于: 2023-12-03 15:34:05.295000             🧑  作者: Mango

Python Tkinter – 画布小部件

简介

Python Tkinter 是 Python 中的标准 GUI(图形用户界面)工具包。它提供了一组丰富的小部件(widgets)来构建 GUI 应用程序。其中之一便是画布小部件(Canvas Widget),它允许用户在画布上绘制图形。

使用
创建画布

要创建一个画布,我们需要先创建一个 Tkinter 窗口实例(root),并在其中添加一个画布小部件:

from tkinter import *
root = Tk()
canvas = Canvas(root, width=500, height=500)
canvas.pack()

以上代码创建了一个大小为 500x500 的画布,并将其添加到 Tkinter 窗口中。

绘制图形

我们可以使用画布小部件的 create_xxx() 方法来绘制各种类型的图形。以下是一些常用的方法:

  • create_rectangle(x1, y1, x2, y2, options):创建一个矩形,其中 (x1, y1)(x2, y2) 分别是矩形左上角和右下角的坐标。options 是一个字典,用于指定矩形的属性,例如 fill(填充颜色)和 outline(边框颜色)等。

  • create_oval(x1, y1, x2, y2, options):创建一个椭圆,其中 (x1, y1)(x2, y2) 同样是左上角和右下角坐标。options 参数同样可以用于指定椭圆属性。

  • create_line(x1, y1, x2, y2, options):创建一条线段,其中 (x1, y1)(x2, y2) 是线段的起点和终点坐标。同样地,options 参数可用于指定线段属性。

以下是一个绘制矩形和椭圆的例子:

# 绘制矩形和椭圆
rect = canvas.create_rectangle(50, 50, 150, 150, fill="red")
oval = canvas.create_oval(200, 200, 300, 150, fill="blue")
移动图形

我们可以使用 move(item, x, y) 方法来移动已经绘制的图形。其中 item 是图形的编号,xy 是要移动的距离。以下是一个移动矩形和椭圆的例子:

# 移动矩形和椭圆
canvas.move(rect, 50, 50)
canvas.move(oval, -50, -50)
删除图形

要删除一个已经绘制的图形,我们可以使用 delete(item) 方法。以下是一个删除矩形和椭圆的例子:

# 删除矩形和椭圆
canvas.delete(rect)
canvas.delete(oval)
总结

以上是 Python Tkinter 中画布小部件的基本使用方法。除了上述方法外,画布小部件还提供了许多其他方法和属性,具体可以参考官方文档或其他教程。