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

วิธีการลบวิดเจ็ต Tkinter ชั่วคราวโดยไม่ต้องใช้เพียงแค่ .place?


ในการวางวิดเจ็ต Tkinter ไว้ใน Frame หรือ Canvas คุณสามารถใช้ตัวจัดการเรขาคณิตต่างๆ ได้ ตัวจัดการเรขาคณิตช่วยให้คุณกำหนดเลย์เอาต์ของวิดเจ็ตและลักษณะที่จะปรากฏในหน้าต่าง tkinter สถานที่() เมธอดเป็นหนึ่งในเครื่องมือจัดการเรขาคณิตที่ง่ายที่สุดซึ่งใช้เพื่อกำหนดตำแหน่งของวิดเจ็ตให้สัมพันธ์กับหน้าต่างอย่างชัดเจน นอกจากนี้เรายังสามารถใช้ place() วิธีการแยกวิดเจ็ตออกจากกัน เนื่องจากรองรับคุณสมบัติที่สัมพันธ์กันเพื่อจัดตำแหน่งวิดเจ็ตเทียบกับผู้อื่น

ในบางกรณี หากคุณต้องการลบวิดเจ็ตเฉพาะออกจากแอปพลิเคชันชั่วคราว คุณสามารถใช้ place_forget() กระบวนการ. คุณยังสามารถใช้ pack_forget() และ grid_forget() เมธอดสำหรับตัวจัดการเรขาคณิตต่างๆ เพื่อลบวิดเจ็ตออกจากแอปพลิเคชันชั่วคราว เราสามารถยกตัวอย่างเพื่อทำความเข้าใจกรณีการใช้งานจริง

ตัวอย่าง

# Import the library
from tkinter import *

# Create an instance of window
win=Tk()

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

def forget_label():
   label.place_forget()

# Create a label widget
label=Label(win, text="This is a new Label text", font='Arial 17 bold')
label.place(relx=0.5, rely=0.2, anchor=CENTER)

# Create a button
button=Button(win, text="Remove It", command=forget_label)
button.place(relx=0.5, rely=0.5, anchor=CENTER)

win.mainloop()

ผลลัพธ์

การเรียกใช้โค้ดด้านบนจะแสดงหน้าต่างพร้อมวิดเจ็ตป้ายกำกับและปุ่ม

วิธีการลบวิดเจ็ต Tkinter ชั่วคราวโดยไม่ต้องใช้เพียงแค่ .place?

เมื่อใดก็ตามที่กดปุ่ม "Remove It" ระบบจะลบวิดเจ็ตป้ายกำกับออกจากหน้าต่าง

วิธีการลบวิดเจ็ต Tkinter ชั่วคราวโดยไม่ต้องใช้เพียงแค่ .place?