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

Làm thế nào để xóa tất cả các phần tử của trẻ em bằng cách sử dụng Tkinter của Python?

Khung rất hữu ích trong ứng dụng Tkinter. Nếu chúng ta xác định Frame trong một ứng dụng, điều đó có nghĩa là chúng ta có đặc quyền thêm một nhóm widget bên trong nó. Tuy nhiên, tất cả các tiện ích con này được gọi là Con của Khung cụ thể đó.

Giả sử chúng ta muốn xóa tất cả các widget con được xác định trong một khung. Sau đó, trước tiên chúng ta phải tập trung vào trẻ em bằng cách sử dụng winfo_children () phương pháp. Khi chúng tôi lấy được tiêu điểm, chúng tôi có thể xóa tất cả các phần tử con hiện có bằng cách sử dụng tiêu diệt () phương pháp.

Ví dụ

#Import the Tkinter Library
from tkinter import *

#Create an instance of Tkinter Frame
win = Tk()

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

#Initialize a Frame
frame = Frame(win)

def clear_all():
   for item in frame.winfo_children():
      item.destroy()
      button.config(state= "disabled")

#Define a ListBox widget
listbox = Listbox(frame, height=10, width= 15, bg= 'grey', activestyle= 'dotbox',font='aerial')
listbox.insert(1,"Go")
listbox.insert(1,"Java")
listbox.insert(1,"Python")
listbox.insert(1,"C++")
listbox.insert(1,"Ruby")

listbox.pack()

label = Label(win, text= "Top 5 Programming Languages", font= ('Helvetica 15 bold'))
label.pack(pady= 20)
frame.pack()

#Create a button to remove all the children in the frame
button = Button(win, text= "Clear All", font= ('Helvetica 11'), command= clear_all)
button.pack()

win.mainloop()

Đầu ra

Nếu chúng ta thực thi đoạn mã trên, nó sẽ hiển thị một cửa sổ với danh sách các mục trong hộp danh sách và một nút.

Làm thế nào để xóa tất cả các phần tử của trẻ em bằng cách sử dụng Tkinter của Python?

Khi chúng tôi nhấp vào nút "Xóa tất cả", nó sẽ loại bỏ tất cả các phần con nằm bên trong đối tượng khung.

Làm thế nào để xóa tất cả các phần tử của trẻ em bằng cách sử dụng Tkinter của Python?