วิดเจ็ต Canvas ใน Tkinter เป็นหนึ่งในวิดเจ็ตอเนกประสงค์ใน Tkinter ซึ่งใช้สำหรับการพัฒนาอินเทอร์เฟซ GUI แบบไดนามิกของแอปพลิเคชัน เช่น รูปร่าง โลโก้ ส่วนโค้ง วัตถุเคลื่อนไหว และอื่นๆ อีกมากมาย ด้วยความช่วยเหลือของ create_rectangle(top, left, bottom, right, **options) ตัวสร้าง เราสามารถสร้างรูปทรงสี่เหลี่ยมในวิดเจ็ตผ้าใบของเรา รายการ Canvas ทั้งหมดรองรับคุณสมบัติหลายอย่าง เช่น คุณสมบัติรูปร่าง ขนาด สี เค้าร่าง ฯลฯ
สมมติว่าเราต้องการเปลี่ยนสีของสี่เหลี่ยมที่วาดโดยใช้เหตุการณ์ปุ่ม การกำหนดฟังก์ชันเรียกกลับที่ขยายคุณสมบัติ เช่น fill=color จะเปลี่ยนสีของสี่เหลี่ยม
ตัวอย่าง
# Import the required libraries
from tkinter import *
# Create an instance of Tkinter Frame
win = Tk()
# Set the geometry of Tkinter Frame
win.geometry("700x250")
# Define a function to change the color of the rectangle
def change_color(*args):
canvas.itemconfig(shape, fill='blue')
# Add a canvas inside the frame
canvas = Canvas(win, width=500, height=250)
canvas.pack()
# Add a rectangle inside the canvas widget
shape = canvas.create_rectangle(500, 100, 50, 50, fill='red')
# Add a button to change the color of the rectangle
button = Button(win, text="Change Color", font=('Helvectica 11'),
command = lambda: change_color(canvas))
button.place(relx=.5, rely=.5, anchor=CENTER)
win.mainloop() ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น จะแสดงหน้าต่างที่มีสี่เหลี่ยมผืนผ้าและวิดเจ็ตปุ่ม

เมื่อคลิกปุ่ม "เปลี่ยนสี" จะเป็นการเปลี่ยนสีของสี่เหลี่ยมผืนผ้าเป็นสีน้ำเงิน
