Tkinter Tutorials

केवल-पठन योग्य Tkinter टेक्स्ट विजेट बनाना

Spread the love

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

Tkinter टेक्स्ट विजेट को केवल-पठनीय बनाना

सबसे सरल और अनुशंसित तरीका state विशेषता का उपयोग करना है। इस विशेषता को DISABLED पर सेट करने से किसी भी उपयोगकर्ता इनपुट को प्रभावी रूप से रोका जाता है, जिससे विजेट केवल-पठनीय हो जाता है।


import tkinter as tk

root = tk.Tk()

text_widget = tk.Text(root, height=10, width=30)
text_widget.insert(tk.END, "यह टेक्स्ट केवल-पठनीय है।")
text_widget.config(state=tk.DISABLED)
text_widget.pack()

root.mainloop()

यह कोड स्निपेट एक Text विजेट बनाता है, इसे कुछ टेक्स्ट से भरता है, और फिर text_widget.config(state=tk.DISABLED) का उपयोग करके इसे अक्षम करता है। संपादन को फिर से सक्षम करने के लिए, बस text_widget.config(state=tk.NORMAL) का उपयोग करके स्थिति को NORMAL पर वापस सेट करें।

गतिशील रूप से केवल-पठनीय मोड को टॉगल करना

ऐसी स्थितियों के लिए जहां आपको केवल-पठनीय और संपादन योग्य अवस्थाओं के बीच गतिशील रूप से स्विच करने की आवश्यकता होती है, आप आसानी से state विशेषता को टॉगल कर सकते हैं:


import tkinter as tk

root = tk.Tk()

text_widget = tk.Text(root, height=10, width=30)
text_widget.insert(tk.END, "यह टेक्स्ट शुरू में संपादन योग्य है।")
text_widget.pack()

def toggle_readonly():
    if text_widget['state'] == tk.NORMAL:
        text_widget.config(state=tk.DISABLED)
        button.config(text="संपादन सक्षम करें")
    else:
        text_widget.config(state=tk.NORMAL)
        button.config(text="संपादन अक्षम करें")

button = tk.Button(root, text="संपादन अक्षम करें", command=toggle_readonly)
button.pack()

root.mainloop()

यह उन्नत उदाहरण एक बटन जोड़ता है जो Text विजेट को केवल-पठनीय और संपादन योग्य मोड के बीच टॉगल करता है।

सामान्य चिंताओं का समाधान

  • पाठ चयन: अक्षम होने पर भी, उपयोगकर्ता अभी भी विजेट के भीतर पाठ का चयन कर सकते हैं।
  • कॉपी-पेस्टिंग: विजेट को अक्षम करने से कॉपी-पेस्टिंग कार्यक्षमता नहीं रुकती है। इसे पूरी तरह से प्रतिबंधित करने के लिए अधिक उन्नत तकनीकों की आवश्यकता होगी।
  • आंशिक केवल-पठनीय: Tkinter का Text विजेट केवल पाठ के कुछ हिस्सों को केवल-पठनीय बनाने का समर्थन नहीं करता है। इसके लिए, कई विजेट या एक कस्टम समाधान का उपयोग करने पर विचार करें।

निष्कर्ष

state विशेषता को DISABLED पर सेट करना केवल-पठनीय Tkinter Text विजेट बनाने के लिए सबसे प्रभावी और कुशल तरीका है। इसकी सादगी और स्पष्टता इसे अधिकांश परिदृश्यों में पसंदीदा दृष्टिकोण बनाती है। गतिशील टॉगलिंग उदाहरण दर्शाता है कि आप अपने अनुप्रयोगों में केवल-पठनीय व्यवहार को कितनी आसानी से प्रबंधित कर सकते हैं।

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

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