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

Làm cách nào để ẩn và hiển thị các mục canvas trên Tkinter?

Tiện ích Canvas là một trong những tiện ích linh hoạt trong Tkinter. Nó được sử dụng trong nhiều ứng dụng để thiết kế giao diện người dùng đồ họa như thiết kế, thêm hình ảnh, tạo đồ họa, ... Chúng ta có thể thêm các widget trong chính widget Canvas. Các tiện ích con nằm bên trong canvas đôi khi được gọi là "Mục Canvas".

Nếu chúng tôi muốn hiển thị hoặc ẩn các mục canvas thông qua một Nút, thì điều này có thể đạt được bằng cách sử dụng " trạng thái "thuộc tính itemconfig ( id, state ) phương pháp.

Ví dụ

Trong ví dụ này, chúng tôi sẽ thêm một hình ảnh vào canvas và một nút sẽ được sử dụng để hiển thị / ẩn hình ảnh trong canvas.

# Import the required libraries
from tkinter import *
from tkinter import ttk
from PIL import Image, ImageTk

# Create an instance of tkinter frame or window
win = Tk()

# Set the size of the window
win.geometry("700x350")

# Globally Declare the Boolean value
show = True

def on_click():
   global show

   # Determine if the image is hidden or not
   if show:
      canvas.itemconfig(1, state='hidden')
      show = False
   else:
      canvas.itemconfig(1, state='normal')
      show = True

# Add a Canvas widget
canvas = Canvas(win, width=440, height=300)
canvas.pack()

# Add image to the canvas
img = ImageTk.PhotoImage(file="bird.jpg")
canvas.create_image(200, 200, image=img, anchor=CENTER)

# Add a Button to Show/Hide Canvas Items
ttk.Button(win, text="Show/Hide", command=on_click).pack()

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 ảnh và một nút để kích hoạt chức năng ẩn và hiển thị hình ảnh.

Làm cách nào để ẩn và hiển thị các mục canvas trên Tkinter?

Bây giờ, hãy nhấp vào nút để hiển thị / ẩn hình ảnh.