如何利用 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