📜  Tk-画布小部件(1)

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

Tk-画布小部件介绍

Tk-画布是Tkinter库中的一个小部件,它提供了一种绘制图形的方式,可以让用户创建基于位图和矢量的绘图对象,包括直线、圆形、椭圆、多边形或位图。它可用于交互式应用程序中,例如图形编辑器、游戏、数据可视化或用户界面。

安装
pip install tk

需要注意的是,Tk-画布是Tkinter库的一部分,因此在Python 2.7版本中,它不需要额外安装。

创建画布

要创建画布,我们需要导入Tkinter库并使用它的Canvas函数。

import tkinter as tk

root = tk.Tk()
canvas = tk.Canvas(root, width=300, height=200)
canvas.pack()
root.mainloop()

在上面的例子中,我们首先导入Tkinter库。然后我们创建一个名为root的窗口部件,并将其传递给Canvas函数。我们还指定了画布的宽度和高度,并将画布放置在父窗口中。最后,我们运行主事件循环。

绘制形状

画布允许绘制多种形状,包括直线、圆形、椭圆、多边形或位图。

绘制直线
line = canvas.create_line(0, 0, 100, 100)

在上面的例子中,我们使用create_line()函数创建一条线,并传递其开始和结束点的坐标。

绘制圆形
circle = canvas.create_oval(50, 50, 150, 150)

在上面的例子中,我们使用create_oval()函数创建一个圆形,并传递其左上角和右下角的坐标。

绘制矩形
rectangle = canvas.create_rectangle(50, 50, 150, 150)

在上面的例子中,我们使用create_rectangle()函数创建一个矩形,并传递其左上角和右下角的坐标。

绘制多边形
polygon = canvas.create_polygon(10, 10, 50, 50, 10, 100, 100, 100, fill='red')

在上面的例子中,我们使用create_polygon()函数创建一个多边形,并传递其各个顶点的坐标。我们还指定了填充颜色。

绘制位图
bitmap = tk.PhotoImage(file='example.png')
image = canvas.create_image(0, 0, anchor='nw', image=bitmap)

在上面的例子中,我们首先加载了一个位图文件。然后我们使用create_image()函数创建一个位图,并将其左上角的锚点指定为左上角,以便我们可以自由地移动它。

移动形状

要移动形状,我们可以使用Tk-画布提供的move()函数。

canvas.move(circle, 50, 50)

在上面的例子中,我们使用move()函数将圆形形状向右和向下移动50个像素单位。

删除形状

要删除形状,我们可以使用Tk-画布提供的delete()函数。

canvas.delete(circle)

在上面的例子中,我们使用delete()函数删除圆形形状。

总结

本文介绍了Tk-画布小部件的基本使用。我们看到了如何创建画布、绘制形状、移动形状和删除形状。Tk-画布是一个强大的小部件,它为我们提供了绘制图形的灵活和方便的方式。