Tkinter 创建椭圆形 – 快速指南

程序员们好!在本文中,我们将使用 Tkinter 绘制不同的形状。在上一篇博客中,使用 Tkinter 绘制线条 主题只是这个最先进概念的良好开端。读者可以在此网址查看。因此,在迈向新的一步中,让我们绘制更多形状。

另请阅读:Tkinter 教程 – 使用 Tkinter Canvas 绘制一条线

基本设置

对于我们的项目文件,设置新目录始终是一个良好的编程习惯。这有助于我们更快地整理事情以供将来使用。

  1. 创建一个文件夹,即:Tkinter Shapes
  2. 创建一个包含我们的脚本/代码的 Python 文件。完成!我们准备编码了。
  3. 如果任何从业者愿意,他们可以为每个代码创建单独的 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。

  1. 它的分辨率为350×350
  2. 背景设置为白色

绘制形状的函数

有内置函数可以在画布上绘制形状。这些都是从 Canvas 类本身派生的。名单如下:

  1. create_line() – 画一条线。
  2. create_arc() – 在屏幕上绘制弧线。
  3. create_oval() – 绘制椭圆形、圆形、椭圆形。
  4. 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()

输出:

绘制圆弧

解释:

  1. 前七行代码是窗口和画布的基本设置。
  2. 从八条线上,我们画一条弧线。调用 create_arc() 函数。要将其放置在轴平面上,请给出坐标 (x1, y1, x2, y2)。记住按照顺序给它们。 最后一个参数是宽度。这是针对形状的厚度。
  3. 我们还可以使用填充参数为圆弧添加颜色  。只需在create_arc()中调用它  ,然后  以字符串格式给出颜色名称:“color_name”
  4. 为了添加更多细节,我们使用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()

输出:

绿色椭圆形

解释:

  1. 前七行是 Tkinter 和 canvas 的基本设置。
  2. 在 Canvas 对象中,我们调用create_oval()函数。它负责追踪椭圆和圆形。
  3. 给出坐标,然后我们就得到结果。

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 编程和开发。我建议读者尝试一下代码并尝试自定义这些形状。我希望这将是一篇读起来有趣的文章。