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

จะซ่อนและแสดงรายการผ้าใบบน Tkinter ได้อย่างไร?


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

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น จะแสดงหน้าต่างที่มีรูปภาพและปุ่มเพื่อเรียกใช้ฟังก์ชันสำหรับการซ่อนและแสดงภาพ

จะซ่อนและแสดงรายการผ้าใบบน Tkinter ได้อย่างไร?

ตอนนี้ ให้คลิกปุ่มเพื่อแสดง/ซ่อนรูปภาพ