如何使用 Python 的 Tkinter 删除所有子元素?
tkinterpythongui-programming更新于 2025/5/20 0:12:17
框架在 Tkinter 应用程序中非常有用。如果我们在应用程序中定义一个框架,则意味着我们有权在其中添加一组小部件。但是,所有这些小部件都称为该特定框架的子项。
假设我们想要删除框架中定义的所有子小部件。然后,首先我们必须使用 winfo_children() 方法将焦点放在子项上。一旦获得焦点,我们就可以使用 destroy() 方法删除所有现有子项。
示例
#导入 Tkinter 库
from tkinter import *
#创建 Tkinter Frame 实例
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 小部件
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= (&39;Helvetica 15 bold&39;))
label.pack(pady= 20)
frame.pack()
#创建一个按钮来删除框架中的所有子项
button = Button(win, text= "Clear All", font= ('Helvetica 11'), command= clear_all)
button.pack()
win.mainloop()
输出
如果我们执行上述代码,它将显示一个窗口,其中包含列表框中的项目列表和一个按钮。
当我们单击"Clear All"按钮,它将删除位于框架对象内的所有子对象。
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

