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