Python GUI Programming

Tkinter का Entry विजेट में महारथ: एक व्यापक गाइड

Spread the love

Tkinter का Entry विजेट इंटरैक्टिव एप्लीकेशन बनाने के लिए एक महत्वपूर्ण तत्व है, जो उपयोगकर्ताओं को एक-पंक्ति पाठ इनपुट करने की अनुमति देता है। यह ट्यूटोरियल Entry विजेट के उपयोग के बारे में एक व्यापक मार्गदर्शिका प्रदान करता है, जिसमें मूल उपयोग, डिफ़ॉल्ट टेक्स्ट सेट करना और उपयोगकर्ता इनपुट को संभालना शामिल है।

विषयवस्तु की तालिका

एक मूल Entry विजेट बनाना

आइए Entry विजेट को बनाने और प्रदर्शित करने के लिए एक साधारण उदाहरण से शुरुआत करते हैं:


import tkinter as tk

root = tk.Tk()
root.title("Tkinter Entry उदाहरण")

entry = tk.Entry(root)
entry.pack(pady=20)

root.mainloop()

यह कोड tkinter इम्पोर्ट करता है, मुख्य एप्लीकेशन विंडो बनाता है, एक Entry विजेट जोड़ता है, और फिर मुख्य इवेंट लूप शुरू करता है। pack() विधि 20 पिक्सेल के ऊर्ध्वाधर पैडिंग के साथ Entry विजेट को स्थिति प्रदान करती है।

डिफ़ॉल्ट टेक्स्ट और प्लेसहोल्डर प्रभाव सेट करना

Entry विजेट के अंदर डिफ़ॉल्ट टेक्स्ट प्रदान करने से उपयोगकर्ता अनुभव बेहतर होता है। हालाँकि insert(0, "text") का उपयोग करके टेक्स्ट डालना काम करता है, लेकिन अधिक उपयोगकर्ता के अनुकूल तरीका एक प्लेसहोल्डर बनाना है जो उपयोगकर्ता के फ़ील्ड के अंदर क्लिक करने पर गायब हो जाता है। इसके लिए इवेंट बाइंडिंग की आवश्यकता होती है, जिसे हम नीचे प्रदर्शित करेंगे:


import tkinter as tk

def on_entry_click(event):
    if entry.get() == "यहाँ पाठ दर्ज करें":
        entry.delete(0, tk.END)
        entry.insert(0, "")
        entry.config(fg = 'black')

def on_focusout(event):
    if entry.get() == "":
        entry.insert(0, "यहाँ पाठ दर्ज करें")
        entry.config(fg = 'grey')


root = tk.Tk()
root.title("प्लेसहोल्डर के साथ Tkinter Entry")

entry = tk.Entry(root)
entry.insert(0, "यहाँ पाठ दर्ज करें")
entry.config(fg = 'grey')
entry.bind("", on_entry_click)
entry.bind("", on_focusout)
entry.pack(pady=20)

root.mainloop()

यह उन्नत उदाहरण दो फ़ंक्शन, on_entry_click और on_focusout का उपयोग करता है, जो क्रमशः <FocusIn> और <FocusOut> ईवेंट से जुड़े होते हैं। ये फ़ंक्शन प्लेसहोल्डर टेक्स्ट का प्रबंधन करते हैं, फ़ोकस पर इसे साफ़ करते हैं और फ़ील्ड का फ़ोकस खोने पर इसे पुनर्स्थापित करते हैं।

उपयोगकर्ता इनपुट को प्राप्त करना और संसाधित करना

उपयोगकर्ता द्वारा दर्ज किए गए टेक्स्ट को पुनः प्राप्त करने के लिए, get() विधि का उपयोग करें। यहाँ इसे हमारे उदाहरण में कैसे शामिल किया जाए:


import tkinter as tk

# ... (पिछले उदाहरण से प्लेसहोल्डर कोड) ...

def get_input():
    user_input = entry.get()
    print(f"उपयोगकर्ता ने दर्ज किया: {user_input}")

button = tk.Button(root, text="इनपुट प्राप्त करें", command=get_input)
button.pack(pady=10)

root.mainloop()

यह एक बटन जोड़ता है जो क्लिक करने पर get_input() फ़ंक्शन को कॉल करता है। यह फ़ंक्शन entry.get() का उपयोग करके Entry विजेट से टेक्स्ट पुनः प्राप्त करता है और इसे कंसोल पर प्रिंट करता है। यह उपयोगकर्ता इनपुट को संभालने का एक बुनियादी तरीका दर्शाता है; एक उत्पादन अनुप्रयोग में अधिक परिष्कृत त्रुटि संचालन और डेटा सत्यापन की आवश्यकता होगी।

यह ट्यूटोरियल Tkinter के Entry विजेट के साथ काम करने के लिए एक ठोस आधार प्रदान करता है। अधिक जटिल और इंटरैक्टिव एप्लिकेशन बनाने के लिए प्रयोग करें और आगे खोजें।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *