如何利用 Python 的 Tkinter 删除所有子元素?
框架在 Tkinter 应用程序中特别有用。如果我们在应用程序中定义了一个框架,这意味着我们可以特权在其中添加一组窗口小部件。但是,所有这些窗口小部件被称为该特定框架的子元素。
假设我们要删除框架中定义的所有子窗口小部件。那么,首先,我们必须使用 **winfo_children()** 方法获取子元素的焦点。一旦我们获得了焦点,就可以使用 **destroy()** 方法删除所有现有的子元素。
范例
#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()输出
如果我们执行上面的代码,它将在一个列表框中显示包含项目列表的窗口和一个按钮。
我们单击“全部清除”按钮时,它将删除框架对象内所有子元素。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP