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
विजेट बनाने के लिए सबसे प्रभावी और कुशल तरीका है। इसकी सादगी और स्पष्टता इसे अधिकांश परिदृश्यों में पसंदीदा दृष्टिकोण बनाती है। गतिशील टॉगलिंग उदाहरण दर्शाता है कि आप अपने अनुप्रयोगों में केवल-पठनीय व्यवहार को कितनी आसानी से प्रबंधित कर सकते हैं।