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

Tkinter में विशिष्ट टेक्स्ट को नॉन-रिमूवेबल कैसे बनाएं?

Tkinter में, उपयोगकर्ता दो बुनियादी टेक्स्ट इनपुट विजेट्स - Text विजेट और Entry विजेट का उपयोग करके टेक्स्ट इनपुट कर सकते हैं। Text विजेट आमतौर पर मल्टीलाइन उपयोगकर्ता इनपुट स्वीकार करने के लिए उपयोग किया जाता है, जबकि Entry विजेट में, उपयोगकर्ता केवल सिंगल-लाइन टेक्स्ट टाइप कर सकता है।

आप इन विजेट्स को कस्टमाइज़ कर सकते हैं और बिल्ट-इन लाइब्रेरी फ़ंक्शन और मेथड्स का उपयोग करके अतिरिक्त कार्यक्षमता जोड़ सकते हैं। Entry विजेट में इनपुट को मान्य करने के लिए, आप register() मेथड का उपयोग कर सकते हैं। यह मेथड एक स्ट्रिंग लौटाता है जिसका उपयोग बाद के चरणों में फ़ंक्शन को कॉल करने के लिए किया जा सकता है।

Entry विजेट में इनपुट को मान्य करने के लिए, validate और validatecommand आर्गुमेंट्स पास करके config(**options) मेथड का उपयोग करें।

  • validate - यह दर्शाता है कि दिए गए Entry या Text विजेट में इनपुट को मान्य करने के लिए कॉलबैक फ़ंक्शन को कब कॉल किया जाना है। उदाहरण के लिए, "key" वह मान है जो निर्दिष्ट करता है कि जब भी उपयोगकर्ता कुंजी (कीबोर्ड से) दबाता है, तो कॉलबैक फ़ंक्शन को कॉल किया जाएगा। आप अन्य विकल्पों का भी उपयोग कर सकते हैं जैसे focus, focusin, focusout, none, all आदि।

  • validatecommand - यह उस मान को निर्दिष्ट करता है जो कॉलबैक फ़ंक्शन द्वारा लौटाए गए मान पर निर्भर करता है। validatecommand='f' में मान निर्दिष्ट करने के लिए, आप विभिन्न कॉलबैक सब्स्टीट्यूशन कोड का उपयोग कर सकते हैं जो बताता है कि कॉलबैक फ़ंक्शन द्वारा कैसे और कौन से मान लौटाए जाते हैं।

Entry विजेट में इनपुट को मान्य करने के लिए, आपको कॉलबैक फ़ंक्शन को रजिस्टर करना होगा और कॉलबैक फ़ंक्शन में परिभाषित शर्त की जांच करने वाले आर्गुमेंट्स पास करके Entry विजेट को कॉन्फ़िगर करना होगा।

उदाहरण

अब एक उदाहरण पर विचार करते हैं जहां हम एक Entry विजेट को मान्य करना चाहते हैं ताकि उपयोगकर्ता द्वारा एक विशिष्ट टेक्स्ट को हटाया न जा सके। इसके अतिरिक्त, हम startswith("string") फ़ंक्शन के साथ स्ट्रिंग की जांच करके इसे नॉन-रिमूवेबल बना सकते हैं।

# आवश्यक लाइब्रेरी इम्पोर्ट करें
from tkinter import *

# Tkinter विंडो का इंस्टेंस बनाएं
win = Tk()
win.geometry("700x350")

# टेक्स्ट को नॉन-रिमूवेबल बनाने के लिए फ़ंक्शन परिभाषित करें
def make_non_removable(text):
    return text.startswith("Enter your Email Id:")

# एक एंट्री विजेट बनाएं
entry = Entry(win, bg="black", fg="white")
entry.pack(side="top", fill="x")

# एक डिफ़ॉल्ट टेक्स्ट जोड़ें
entry.insert(END, "Enter your Email Id:")

validate_entry = (win.register(make_non_removable), '%P')
entry.config(validate='key', validatecommand=validate_entry)

win.mainloop()

आउटपुट

निष्पादन पर, यह एक डिफ़ॉल्ट नॉन-रिमूवेबल टेक्स्ट "Enter your Email Id:" के साथ एक विंडो में Entry विजेट प्रदर्शित करेगा।

Tkinter में विशिष्ट टेक्स्ट को नॉन-रिमूवेबल कैसे बनाएं?

  1. Tkinter में Button Text Dynamically Resize कैसे करें? Tkinter में Button Text Dynamically Resize कैसे करें?

    मान लीजिए हमने Tkinter Frame में एक button और एक label बनाया है। Task है button text को dynamically resize करके इसके main window के अनुसार adjust करना। हम button widget का उपयोग करके button बना सकते हैं। हालांकि, button label dynamically बनाने के लिए कई अन्य functions उपयोग किए जाते हैं। इस उदाहरण म

  1. Tkinter Text Box की Contents Delete कैसे करें? Tkinter Text Box की Contents Delete कैसे करें?

    Tkinter कई functions और modules प्रदान करता है जिनके माध्यम से हम buttons, dialogue boxes, widgets, और बहुत कुछ के साथ fully featured applications बना सकते हैं। Text widget बनाने के लिए, हम tkinter entry widget function का उपयोग कर सकते हैं जो basically एक constructor है और यह tkinter के window या f

  1. Tkinter में Entry में Placeholder कैसे Add करें? Tkinter में Entry में Placeholder कैसे Add करें?

    Tkinter button, text, entry, dialogue और अन्य attributes जैसे widgets add करने की सुविधाएं प्रदान करता है जो एप्लिकेशन develop करने में मदद करते हैं। हालांकि, tkinter entry widget में placeholder include नहीं करता। Placeholders वो dummy text होते हैं जो entry widget में दिखाई देते हैं ताकि user को इ