Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Xóa tất cả widget con trong Frame Tkinter

Frame chứa nhóm widget (children). Xóa tất cả children bằng winfo_children() lấy danh sách, rồi destroy() từng item.

Ví dụ

# Import Tkinter
from tkinter import *

# Tạo khung
win = Tk()
win.geometry("700x350")

# Frame
frame = Frame(win)

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

# Listbox trong frame
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()

# Nút xóa tất cả
button = Button(win, text="Clear All", font=('Helvetica 11'), command=clear_all)
button.pack()

win.mainloop()

Kết quả

Listbox và nút Clear All. Click Clear All xóa Listbox trong frame.

Xóa tất cả widget con trong Frame Tkinter

Xóa tất cả widget con trong Frame Tkinter