Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Tkinter में ऑटो-कंप्लीशन के साथ कॉम्बो बॉक्स कैसे बनाएं?


Tkinter Combobox विजेट एप्लिकेशन में ड्रॉपडाउन मेनू इम्प्लीमेंट करने के लिए उपयोगी विजेट में से एक है। यह इसके ऊपर Entry विजेट और ListBox विजेट के संयोजन का उपयोग करता है। हम एंट्री फील्ड में आइटम का नाम टाइप करके मेनू आइटम चुन सकते हैं (यदि यह मेनू सूची में मौजूद है)। हालांकि, कभी-कभी, ऐसे मामले हो सकते हैं जब हमें मेनू आइटम चुनने के लिए ऑटोकंप्लीशन का उपयोग करने की आवश्यकता होती है।

ऑटो-कंप्लीशन Combobox बनाने के लिए, हम पहले मेनू सूचीबद्ध करने के लिए एक Listbox बनाएंगे और चयनित मेनू प्रदर्शित करने के लिए एक Entry विजेट बनाएंगे। आप लिस्ट में किसी विशेष कीवर्ड को खोजने के लिए एंट्री विजेट के साथ "Keyrelease" इवेंट बाइंड कर सकते हैं। यदि आइटम मौजूद है, तो हम Listbox विजेट को अपडेट करेंगे।

उदाहरण

इस उदाहरण में, हम दो फंक्शन बनाएंगे जैसे कि:

  • एक फंक्शन check(e) यह पता लगाएगा कि दर्ज आइटम लिस्ट में मौजूद है या नहीं। यदि आइटम दर्ज कीवर्ड से मेल खाता है, तो हम एंट्री विजेट को विशेष डेटा इन्सर्ट करके अपडेट करेंगे।
  • एक फंक्शन update(data) एंट्री बॉक्स को एंट्री विजेट में मान इन्सर्ट करके अपडेट करेगा।
# आवश्यक लाइब्रेरी इम्पोर्ट करें
from tkinter import *
from tkinter import ttk

# Tkinter फ्रेम या विंडो का इंस्टेंस बनाएं
win = Tk()

# विंडो का आकार सेट करें
win.geometry("700x350")

# विंडो का शीर्षक सेट करें
win.title("Combobox- TutorialsPoint")

# लिस्ट में चयनित आइटम के साथ एंट्री विजेट अपडेट करें
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):
    # Combobox क्लियर करें
    menu.delete(0, END)
    # Combobox में मान जोड़ें
    for value in data:
        menu.insert(END, value)

# लेबल विजेट जोड़ें
label = Label(win, text="Demo Combobox Widget", font=('Helvetica 15 bold'), background="green3")
label.pack(padx=10, pady=25)

# बॉटम लेबल टेक्स्ट जोड़ें
text = Label(win, text="Select a Programming Language")
text.pack(padx=15, pady=20)

# एंट्री विजेट बनाएं
entry = Entry(win, width=35)
entry.pack()
entry.bind('', check)

# आइटम की सूची प्रदर्शित करने के लिए Listbox विजेट बनाएं
menu = Listbox(win)
menu.pack()

# सभी मेनू आइटम की सूची बनाएं
values = ['Python', 'C++', 'Java', 'Ruby on Rails', 'Rust', 'GoLang', 'Objective-C', 'C#', 'PHP', 'Swift', 'JavaScript']

# हमारे कॉम्बोबॉक्स में मान जोड़ें
update(values)

# कॉम्बोबॉक्स ऑनक्लिक बाइंडिंग
win.mainloop()

आउटपुट

उपरोक्त Python स्क्रिप्ट चलाने पर एक एंट्री विजेट और एक ListBox वाली विंडो प्रदर्शित होगी। जब भी हम कोई कीवर्ड दर्ज करते हैं, तो यह ListBox विजेट को अपडेट करेगा जो दर्ज कीवर्ड से मेल खाने वाले परिणाम दिखाएगा।

Tkinter में ऑटो-कंप्लीशन के साथ कॉम्बो बॉक्स कैसे बनाएं?


  1. Tkinter का उपयोग करके पासवर्ड एंट्री फील्ड कैसे बनाएं? Tkinter का उपयोग करके पासवर्ड एंट्री फील्ड कैसे बनाएं?

    मान लीजिए हम एक एंट्री विजेट जोड़ना चाहते हैं जो यूज़र पासवर्ड स्वीकार करता है। आमतौर पर, पासवर्ड * का उपयोग करके डिस्प्ले किए जाते हैं जो यूज़र क्रेडेंशियल्स को एन्क्रिप्टेड फॉर्म में बनाता है। हम tkinter Entry विजेट का उपयोग करके पासवर्ड फील्ड बना सकते हैं। उदाहरण इस उदाहरण में, हमने एक एप्लिकेश

  1. Tkinter एंट्री विजेट के लिए डिफ़ॉल्ट टेक्स्ट कैसे सेट करें? Tkinter एंट्री विजेट के लिए डिफ़ॉल्ट टेक्स्ट कैसे सेट करें?

    Tkinter एंट्री विजेट का उपयोग यूज़र इनपुट से ली गई टेक्स्ट की एक सिंगल लाइन को प्रिंट और डिस्प्ले करने के लिए किया जाता है। इसका उपयोग लॉगिन फॉर्म, साइनअप फॉर्म और अन्य यूज़र इंटरैक्शन फॉर्म बनाने जैसे कई एप्लिकेशन में किया जाता है।हम insert() फंक्शन का उपयोग करके एंट्री विजेट के लिए डिफ़ॉल्ट टेक्स्

  1. Tkinter में Simple Message Box कैसे Create करें? Tkinter में Simple Message Box कैसे Create करें?

    Tkinter एप्लिकेशन बनाने और develop करने के लिए एक लोकप्रिय Python library है। इसमें विभिन्न methods और functions हैं जिनका उपयोग एप्लिकेशन में multiple features add करने के लिए किया जा सकता है। Tkinter का उपयोग करके, हम dialogue boxes और अन्य widgets बना सकते हैं। इस लेख में, हम देखेंगे कि कैसे एक s