程序员们好!在本文中,我们将使用 Tkinter 绘制不同的形状。在上一篇博客中,使用 Tkinter 绘制线条 主题只是这个最先进概念的良好开端。读者可以在此网址查看。因此,在迈向新的一步中,让我们绘制更多形状。
另请阅读:Tkinter 教程 – 使用 Tkinter Canvas 绘制一条线
基本设置
对于我们的项目文件,设置新目录始终是一个良好的编程习惯。这有助于我们更快地整理事情以供将来使用。
- 创建一个文件夹,即:Tkinter Shapes。
- 创建一个包含我们的脚本/代码的 Python 文件。完成!我们准备编码了。
- 如果任何从业者愿意,他们可以为每个代码创建单独的 Python 脚本
跳过基础知识?跳转到在 Tkinter 中创建椭圆。
创建 Tkinter 画布
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 类本身派生的。名单如下:
- 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() 函数中添加fill参数,我们就得到了一个漂亮的结果。
在 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 编程和开发。我建议读者尝试一下代码并尝试自定义这些形状。我希望这将是一篇读起来有趣的文章。