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
接受一些参数:parent
、width
和 height
;在我们的例子中,父窗口对象是一个 window
变量。所以基本上,这行代码会在父窗口中创建一个内部窗口。
# create an inner window
cv =Canvas(window,width=500,height=500)
cv.pack()
现在我们将使用 Canvas
类的 create_rectangle()
方法在画布上创建一个矩形。
这个方法需要一些参数来创建一个矩形。使其可执行有四个必需参数:x0
、y0
、x1
和 y1
。
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 中创建一个带有文本的矩形
在本节中,我们更改了一些内容以将文本创建为矩形。所以我们创建了四个不同方向的。
# 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()
方法。
该方法接受两个坐标点来放置文本,我们已经熟悉了 text
和 fill
参数。
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()
输出:
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