วิดเจ็ต Canvas เป็นหนึ่งในวิดเจ็ตอเนกประสงค์ใน Tkinter มันถูกใช้ในแอพพลิเคชั่นมากมายสำหรับการออกแบบส่วนต่อประสานกราฟิกกับผู้ใช้เช่นการออกแบบการเพิ่มรูปภาพการสร้างกราฟิก ฯลฯ เราสามารถเพิ่มวิดเจ็ตในวิดเจ็ต Canvas ได้ วิดเจ็ตที่อยู่ในผืนผ้าใบบางครั้งเรียกว่า "รายการผ้าใบ"
หากเราต้องการแสดงหรือซ่อนรายการผ้าใบผ่านปุ่ม สามารถทำได้โดยใช้ "สถานะ " คุณสมบัติใน itemconfig(id, state ) วิธีการ
ตัวอย่าง
ในตัวอย่างนี้ เราจะเพิ่มรูปภาพในแคนวาส และปุ่มจะใช้เพื่อแสดง/ซ่อนรูปภาพในแคนวาส
# 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()
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น จะแสดงหน้าต่างที่มีรูปภาพและปุ่มเพื่อเรียกใช้ฟังก์ชันสำหรับการซ่อนและแสดงภาพ
ตอนนี้ ให้คลิกปุ่มเพื่อแสดง/ซ่อนรูปภาพ