如何使用Tkinter绘制不同的形状

480 阅读3分钟

在本教程中,我们将学习如何在Tkinter中绘制不同的形状,如方形、圆形、矩形、椭圆形、弧形等。在Tkinter中,canvas类 被用来在我们的应用程序窗口中绘制不同的形状。绘制图形的函数是在canvas类中定义的,所以我们需要先定义canvas类。

按照下面的步骤,使用Tkinter在Python GUI中绘制不同的形状。

设置Tkinter

为了安装Tkinter模块,在终端运行以下命令。

pip install tk

为了导入已安装的模块,我们导入Tkinter库中的所有方法。

from tkinter import *

在Python Tkinter Canvas中绘制图形

首先,我们需要初始化 Tkinter和canvas类。Tkinter Canvas类包含了创建不同形状的所有方法。

root = Tk()
canvas = Canvas()
root.mainloop()

在初始化了Tkinter和canvas类之后,我们开始绘制不同的形状

1.椭圆

使用 create_oval() 方法可以很容易地绘制椭圆形。这个方法将坐标、颜色、轮廓、宽度等作为参数。所有的形状都是在一个我们提供的坐标的方框内创建的。

create_oval(x0, y0, x1, y1)

在上面的代码中,我们设置了盒子的坐标,使它成为一个完美的正方形,在这个正方形内,我们将得到完美的圆。

canvas.create_oval(10, 10, 80, 80, outline = "black", fill = "white",width = 2)
canvas.pack()

2.圆

创建圆没有特殊的函数,它是通过使用create_oval()函数绘制的。我们只需要保持水平长度与垂直长度相同。在数学上,这意味着形状(圆)的半径等于边界(直径)的所有边。

canvas.create_oval(110,10,210,110,outline = "black",fill = "white",width = 2)
canvas.pack()

3.正方形或长方形

通过使用create_rectangle方法,我们可以画一个矩形和正方形。这里我们传递形状的边缘/侧面,因此也可以画一个正方形,使用同样的方法(所有边相等)。

canvas.create_rectangle(10,10,110,110,outline ="black",fill ="white",width = 2)
canvas.create_rectangle(210,10,310,210,outline ="black",fill ="white",width =2)
canvas.pack()

4.多边形

我们可以画出我们想要的任意多的顶点。我们使用create_polygon() 方法来获取边的坐标并在主窗口上进行相应的渲染。在下面的代码中,我们创建了一个坐标列表,并把它传递给create_polygon方法。

#points for the vertices in x1,y1,x2,y2, and so on

points = [150, 100, 200, 120, 240, 180, 210, 200, 150, 150, 100, 200]

canvas.create_polygon(points, outline = "blue", fill = "orange", width = 2)
canvas.pack()

5.弧形

我们使用create_arc 方法来创建弧形。

canvas.create_arc(30,200,90,100,extent =210,outline ="black",fill ="white", width =2)

创建方法中使用的不同参数

  • 轮廓 :- 轮廓是用来定义形状的轮廓颜色。
  • 填充 :- 填充就像微软油漆中的油漆桶工具。它用我们分配给它的颜色填充形状。
  • Width :- 用来设置轮廓的宽度。

总结

这个关于使用Tkinter创建形状的基本教程就到此为止。继续探索帮助你在Python Tkinter中绘制不同形状和线条的函数,以创建更多高级形状和图案。