Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การเปลี่ยนสีสี่เหลี่ยม Tkinter เมื่อคลิก


วิดเจ็ต 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()

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น จะแสดงหน้าต่างที่มีสี่เหลี่ยมผืนผ้าและวิดเจ็ตปุ่ม

การเปลี่ยนสีสี่เหลี่ยม Tkinter เมื่อคลิก

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

การเปลี่ยนสีสี่เหลี่ยม Tkinter เมื่อคลิก