टिंकर कम्बोबॉक्स विजेट किसी एप्लिकेशन में ड्रॉपडाउन मेनू को लागू करने के लिए उपयोगी विजेट्स में से एक है। यह इसके शीर्ष पर एंट्री विजेट और लिस्टबॉक्स विजेट के संयोजन का उपयोग करता है। हम प्रविष्टि क्षेत्र में आइटम का नाम (यदि यह मेनू सूची में मौजूद है) टाइप करके मेनू आइटम का चयन कर सकते हैं। हालांकि, कभी-कभी, ऐसे मामले हो सकते हैं जब हमें मेनू आइटम का चयन करने के लिए स्वत:पूर्णता का उपयोग करने की आवश्यकता होती है।
स्वत:पूर्णता कम्बोबॉक्स बनाने के लिए, हम मेनू को सूचीबद्ध करने के लिए पहले एक सूची बॉक्स बनाएंगे और चयनित मेनू को प्रदर्शित करने के लिए एक प्रविष्टि विजेट बनाएंगे। सूची में किसी विशेष कीवर्ड को खोजने के लिए आप "कीरिलीज़" ईवेंट को एंट्री विजेट के साथ बाँध सकते हैं। यदि आइटम मौजूद है, तो हम लिस्टबॉक्स विजेट को अपडेट कर देंगे।
उदाहरण
इस उदाहरण में, हम दो फंक्शन तैयार करेंगे जैसे कि,
- एक फ़ंक्शन चेक(ई) यह पता लगाएगा कि दर्ज की गई वस्तु सूची में मौजूद है या नहीं। यदि आइटम दर्ज किए गए कीवर्ड से मेल खाता है, तो हम विशेष डेटा डालकर एंट्री विजेट को अपडेट करेंगे।
- एक फ़ंक्शन अपडेट (डेटा) एंट्री विजेट में मान डालकर एंट्री बॉक्स को अपडेट करेगा।
# Import the Required libraries from tkinter import * from tkinter import ttk # Create an instance of tkinter frame or window win= Tk() # Set the size of the window win.geometry("700x350") # Set the title of the window win.title("Combobox- TutorialsPoint") # Update the Entry widget with the selected item in list def check(e): v= entry.get() if v=='': data= values else: data=[] for item in values: if v.lower() in item.lower(): data.append(item) update(data) def update(data): # Clear the Combobox menu.delete(0, END) # Add values to the combobox for value in data: menu.insert(END,value) # Add a Label widget label= Label(win, text= "Demo Combobox Widget", font= ('Helvetica 15 bold'), background= "green3") label.pack(padx= 10, pady= 25) # Add a Bottom Label text= Label(win, text="Select a Programming Language") text.pack(padx= 15,pady= 20) # Create an Entry widget entry= Entry(win, width= 35) entry.pack() entry.bind('<KeyRelease>',check) # Create a Listbox widget to display the list of items menu= Listbox(win) menu.pack() # Create a list of all the menu items values= ['Python', 'C++', 'Java','Ruby on Rails', 'Rust', 'GoLang','Objective-C', 'C# ', 'PHP', 'Swift', 'JavaScript'] # Add values to our combobox update(values) # Binding the combobox onclick win.mainloop()को बाइंड करना
आउटपुट
उपरोक्त पायथन स्क्रिप्ट को चलाने से एक एंट्री विजेट और एक लिस्टबॉक्स के साथ एक विंडो प्रदर्शित होगी। जब भी हम कोई कीवर्ड दर्ज करते हैं, तो यह लिस्टबॉक्स विजेट को अपडेट कर देगा, जो दर्ज किए गए कीवर्ड से मेल खाने वाला परिणाम दिखाएगा।