编码员们好!在这篇文章中,我们将使用Tkinter来绘制不同的形状。在之前的博客中,使用Tkinter画线 的主题只是这个最先进概念的一个良好开端。读者可以在这个网址上看到它。因此,在这篇博客中,我们将向新的方向发展,让我们绘制一些更多的形状。
基本设置
对于我们的项目文件,建立一个新的目录总是一个好的编程实践。这有助于我们为将来的目的更快地整理东西。
- 创建一个文件夹,即: Tkinter Shapes。
- 创建一个Python文件来存放我们的脚本/代码。完成了!,我们就可以开始编码了。
- 如果任何从业者想要的话,他们可以为每个代码创建单独的Python脚本。
创建Tkinter Canvas
Tkinter中的Canvas是一个基本窗口,它帮助我们进行绘图和相关的工作。它是一个白色的屏幕,就像白板一样,我们有彩色的粉笔,它可以随时显示我们的草图。下面是设置Canvas的代码。
代码
from tkinter import Tk
from tkinter import Canvas
window = Tk()
window.geometry("400x400")
window.configure(background = "grey")
window.title("Canvas - Draw Shapes")
window.resizable(False, False)
# setting up the canvas
canvas = Canvas(width = 350, height = 350, bg = "white")
canvas.pack(pady = 20)
window.mainloop()
输出

画布屏幕
所以,我们的Tlkinter窗口中间有一个Canvas。
- 它的分辨率是350×350。
- 背景被设置为白色。
绘制图形的函数
有一些内置的函数可以在 Canvas 上绘制图形。这些函数是由 Canvas 类本身派生出来的。列表如下:
- create_line() - 绘制一条直线。
- create_arc() - 在屏幕上勾画弧线。
- create_oval() - 绘制椭圆、圆形、椭圆。
- create_polygon() - 描画六边形、五边形等。
让我们看看这里对我们最重要的2个函数--create_arc()和create_oval()方法。让我们开始吧!
在Tkinter中创建弧线
代码
from tkinter import Tk
from tkinter import Canvas
window = Tk()
window.geometry("400x400")
window.configure(background = "grey")
window.title("Canvas - Draw Shapes")
window.resizable(False, False)
# setting up the canvas
canvas = Canvas(width = 350, height = 350, bg = "white")
canvas.pack(pady = 20)
# create a text that renders the name of our shape
canvas.create_text(175, 30, text = "Arc", font = ("Arial", 30))
#create an arc
canvas.create_arc(0, 340, 200, 100, width = 5)
window.mainloop()
输出

绘制一个弧线
解释一下:
- 前七行代码是窗口和画布的基本设置。
- 从这八行开始,我们画一个弧线。调用**create_arc()函数。为了把它放在轴平面上,给出坐标(x1, y1, x2, y2)。最后一个参数是宽度。**这是为形状的厚度准备的。
- 我们还可以使用填充参数为弧线添加颜色。只要在create_arc()中调用它,然后以字符串格式给出颜色名称****。"color_name"。
- 为了增加更多的细节,我们使用create_text()函数渲染一个文本。我们把它放在Canvas的顶部,并给出Arial 的字体和30的大小。
绘制彩色弧线的代码
from tkinter import Tk
from tkinter import Canvas
window = Tk()
window.geometry("400x400")
window.configure(background = "grey")
window.title("Canvas - Draw Shapes")
window.resizable(False, False)
# setting up the canvas
canvas = Canvas(width = 350, height = 350, bg = "white")
canvas.pack(pady = 20)
canvas.create_text(175, 30, text = "Arc", font = ("Arial", 30))
canvas.create_arc(0, 340, 200, 100, width = 5, fill = "orange")
window.mainloop()
输出

一个彩色的弧线
所以,代码和前面的一样。我们只需在create_arc()函数中添加填充参数,就可以得到一个漂亮的结果。
在Tkinter中创建圆和椭圆
准备好用Tkinter创建一个椭圆了吗?让我们直接开始吧。
椭圆形的代码
from tkinter import Tk
from tkinter import Canvas
window = Tk()
window.geometry("400x400")
window.configure(background = "grey")
window.title("Canvas - Draw Shapes")
window.resizable(False, False)
# setting up the canvas
canvas = Canvas(width = 350, height = 350, bg = "white")
canvas.pack(pady = 20)
canvas.create_text(175, 20, text = "Circle", font = ("Arial", 30))
canvas.create_oval(175, 100, 100, 175, width = 3)
window.mainloop()
输出

绿色的椭圆
解释一下
- 前七行是Tkinter和canvas的基本设置。
- 在Canvas对象中,我们调用**create_oval()**函数。这负责追踪椭圆和圆形。
- 给出坐标,然后就有了我们的结果。
create_oval()方法也可以帮助你创建圆形。只需确保x1和y2相同,x2和y1相同。
圆的代码
from tkinter import Tk
from tkinter import Canvas
window = Tk()
window.geometry("400x400")
window.configure(background = "grey")
window.title("Canvas - Draw Shapes")
window.resizable(False, False)
# setting up the canvas
canvas = Canvas(width = 350, height = 350, bg = "white")
canvas.pack(pady = 20)
canvas.create_text(175, 20, text = "Circle", font = ("Arial", 30))
canvas.create_oval(175, 100, 100, 175, width = 3)
window.mainloop()
输出

一个圆
结论
这样,我们就可以使用Tkinter的Canvas和内置的形状函数来绘制不同的形状。这个库对于GUI编程和开发来说,是非常适合初学者使用的。我建议读者玩一玩代码,并尝试定制这些形状。我希望这将是一篇有趣的文章。