टिंकर एप्लिकेशन में फ्रेम्स बहुत उपयोगी होते हैं। यदि हम किसी एप्लिकेशन में फ़्रेम को परिभाषित करते हैं, तो इसका मतलब है कि हमारे पास इसके अंदर विजेट्स का एक समूह जोड़ने का विशेषाधिकार है। हालाँकि, इन सभी विजेट्स को उस विशेष फ्रेम के बच्चे कहा जाता है।
मान लीजिए कि हम एक फ्रेम में परिभाषित सभी बच्चों के विजेट को हटाना चाहते हैं। फिर, पहले हमें winfo_children() . का उपयोग करके बच्चों पर ध्यान केंद्रित करना होगा तरीका। एक बार जब हम ध्यान केंद्रित कर लेते हैं, तो हम नष्ट () . का उपयोग करके सभी मौजूदा बच्चों को हटा सकते हैं विधि।
उदाहरण
#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()
आउटपुट
यदि हम उपरोक्त कोड को निष्पादित करते हैं, तो यह एक सूची बॉक्स और एक बटन में मदों की सूची के साथ एक विंडो प्रदर्शित करेगा।
जब हम "क्लियर ऑल" बटन पर क्लिक करते हैं, तो यह फ्रेम ऑब्जेक्ट के अंदर पड़े सभी बच्चों को हटा देगा।