Tkinter Create_rectangle 方法

Salman Mehmood 2024年2月15日
  1. 在 Tkinter 中使用 create_rectangle() 方法创建矩形
  2. 在 Tkinter 中创建一个带有文本的矩形
Tkinter Create_rectangle 方法

在本次讨论中,我们将介绍 TK 画布组件及其用途、如何将其放置到 GUI 窗口以及如何使用 Tkinter 中的 create_rectangle() 方法在画布上创建矩形。

这是画布组件允许在其自身上绘制形状的最简单方法,它对于绘制图形很有用。它允许绘制值,最终它可用于实现你作为程序员可以从头开始开发的自定义组件。

在 Tkinter 中使用 create_rectangle() 方法创建矩形

我们知道在 Python 中用于制作 GUI 的模块是 Tkinter 模块,所以首先,我们需要导入我们的 Tkinter 模块;对于各种函数和方法,我们需要编写如下代码。

from tkinter import *

现在我们将声明一个名为 window 的变量等于 Tk() 类。

对于我们的终止,语句必须是 window.mainloop();我们准备用完它。当我们运行它时,我们将在屏幕上看到一个简单的 GUI。

window = Tk()
window.mainloop()

我们有一个名为 Canvas 的类,它是 Tk 的子类;这不仅仅是一堂课。它就像一个图形工具,允许我们在 GUI 窗口上创建某些图形或编写某些文本。

Canvas 接受一些参数:parentwidthheight;在我们的例子中,父窗口对象是一个 window 变量。所以基本上,这行代码会在父窗口中创建一个内部窗口。

# create an inner window
cv = Canvas(window, width=500, height=500)
cv.pack()

现在我们将使用 Canvas 类的 create_rectangle() 方法在画布上创建一个矩形。

这个方法需要一些参数来创建一个矩形。使其可执行有四个必需参数:x0y0x1y1

x0 y0 参数就像右上角,x1 y1 就像右下角。

cv.create_rectangle(50, 20, 200, 200, fill="red")

所以这样,我们可以在我们的 Tkinter GUI 窗口中创建一个矩形。

from tkinter import *

# create a GUI window widget
window = Tk()
# create an inner window
cv = Canvas(window, width=500, height=500)
cv.pack()
# create a rectangle
cv.create_rectangle(50, 20, 200, 200, fill="red")

window.mainloop()

输出:

在 Tkinter 中使用 createrectangle 方法创建矩形

在 Tkinter 中创建一个带有文本的矩形

在本节中,我们更改了一些内容以将文本创建为矩形。所以我们创建了四个不同方向的。

# create a red rectangle
cv.create_rectangle(0, 0, 200, 200, fill="red")

# create a blue rectangle
cv.create_rectangle(205, 0, 405, 200, fill="blue")

# create a yellow rectangle
cv.create_rectangle(0, 205, 200, 405, fill="yellow")

# create a green rectangle
cv.create_rectangle(205, 205, 405, 405, fill="green")

正如我们在前面的示例中所看到的,我们现在熟悉创建矩形,因此我们将讨论 create_text() 方法。

该方法接受两个坐标点来放置文本,我们已经熟悉了 textfill 参数。

cv.create_text(100, 100, text="Red Rectangle", fill="white")

这是我们这个例子的全部代码,所以复制并在你的电脑上运行它。

from tkinter import *

# create a GUI window widget
window = Tk()
# create an inner window
cv = Canvas(window, width=500, height=500)
cv.pack()

# create a red rectangle
cv.create_rectangle(0, 0, 200, 200, fill="red")
# This method create a text in rectangle
cv.create_text(100, 100, text="Red Rectangle", fill="white")
# create a blue rectangle
cv.create_rectangle(205, 0, 405, 200, fill="blue")
cv.create_text(300, 100, text="Blue Rectangle", fill="white")
# create a yellow rectangle
cv.create_rectangle(0, 205, 200, 405, fill="yellow")
cv.create_text(100, 300, text="Yellow Rectangle")
# create a green rectangle
cv.create_rectangle(205, 205, 405, 405, fill="green")
cv.create_text(300, 300, text="Green Rectangle")

window.mainloop()

输出:

在 Tkinter 中创建一个带有文本的矩形

作者: Salman Mehmood
Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn