Computer >> Máy Tính >  >> Lập trình >> Python

Thay đổi màu của hình chữ nhật Tkinter khi nhấp vào

Tiện ích Canvas trong Tkinter là một trong những tiện ích linh hoạt trong Tkinter được sử dụng để phát triển giao diện GUI động của ứng dụng như hình dạng, biểu trưng, ​​vòng cung, đối tượng hoạt hình, v.v. Với sự trợ giúp của create_rectangle (tùy chọn trên, trái, dưới, phải, **) constructor, chúng ta có thể tạo một hình chữ nhật trong widget canvas của chúng ta. Tất cả các mục Canvas hỗ trợ nhiều tính năng như thuộc tính hình dạng, kích thước, màu sắc, đường viền, v.v.

Giả sử chúng ta muốn thay đổi màu của hình chữ nhật đã vẽ với sự trợ giúp của sự kiện nút. Việc xác định một hàm gọi lại mở rộng thuộc tính như fill =color sẽ thay đổi màu của hình chữ nhật.

Ví dụ

# 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()

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ hiển thị một cửa sổ có hình chữ nhật và một tiện ích nút.

Thay đổi màu của hình chữ nhật Tkinter khi nhấp vào

Khi nhấp vào nút "Thay đổi màu", nó sẽ thay đổi màu của hình chữ nhật thành màu xanh lam.

Thay đổi màu của hình chữ nhật Tkinter khi nhấp vào