Tkinter टेक्स्ट विजेट्स को गतिशील रूप से अपडेट करना
Tkinter का Text
विजेट आपके GUI अनुप्रयोगों में बहु-पंक्ति पाठ प्रदर्शित करने और संपादित करने के लिए एक शक्तिशाली उपकरण है। यह ट्यूटोरियल Text
विजेट के भीतर पाठ को गतिशील रूप से अपडेट करने के कई तरीकों को प्रदर्शित करता है, जो बटन क्लिक या अन्य उपयोगकर्ता इंटरैक्शन द्वारा ट्रिगर किया जाता है।
विषय-सूची
- Tkinter टेक्स्ट विजेट को समझना
- विधि 1:
delete
औरinsert
विधियों का उपयोग करना - विधि 2: उपयोगकर्ता इनपुट के साथ टेक्स्ट सेट करना
- विधि 3: पूर्वनिर्धारित विकल्पों के साथ टेक्स्ट सेट करना
- विधि 4: टेक्स्ट जोड़ना
- निष्कर्ष
- FAQ
Tkinter टेक्स्ट विजेट को समझना
Tkinter Text
विजेट बहु-पंक्ति पाठ को प्रदर्शित करने और हेरफेर करने के लिए एक स्क्रॉल करने योग्य क्षेत्र प्रदान करता है। एक साधारण Label
के विपरीत, यह समृद्ध पाठ स्वरूपण का समर्थन करता है (हालांकि हम यहां विस्तार से इसका पता नहीं लगाएंगे) और केवल प्रदर्शन से परे उपयोगकर्ता संपर्क की अनुमति देता है। प्रदर्शित पाठ को संशोधित करने में आमतौर पर नया पाठ सम्मिलित करने से पहले मौजूदा सामग्री को साफ़ करना शामिल होता है।
विधि 1: delete
और insert
विधियों का उपयोग करना
यह मौलिक दृष्टिकोण मौजूदा पाठ को साफ़ करने के लिए delete
विधि और नया पाठ जोड़ने के लिए insert
विधि का उपयोग करता है।
import tkinter as tk
def set_text():
text_widget.delete("1.0", tk.END)
text_widget.insert(tk.END, "यह पाठ बटन द्वारा सेट किया गया है!")
root = tk.Tk()
text_widget = tk.Text(root, height=5, width=30)
text_widget.pack()
button = tk.Button(root, text="पाठ सेट करें", command=set_text)
button.pack()
root.mainloop()
यह कोड एक Text
विजेट और एक बटन बनाता है। बटन पर क्लिक करने से set_text
निष्पादित होता है, विजेट को साफ़ करता है (delete("1.0", tk.END)
) और नया पाठ सम्मिलित करता है (insert(tk.END, "यह पाठ...")
).
विधि 2: उपयोगकर्ता इनपुट के साथ टेक्स्ट सेट करना
यह विधि उपयोगकर्ताओं को प्रदर्शित करने के लिए पाठ निर्दिष्ट करने की अनुमति देती है।
import tkinter as tk
from tkinter import simpledialog
def set_text_from_input():
new_text = simpledialog.askstring("इनपुट", "पाठ दर्ज करें:")
if new_text:
text_widget.delete("1.0", tk.END)
text_widget.insert(tk.END, new_text)
root = tk.Tk()
text_widget = tk.Text(root, height=5, width=30)
text_widget.pack()
button = tk.Button(root, text="इनपुट से पाठ सेट करें", command=set_text_from_input)
button.pack()
root.mainloop()
simpledialog.askstring
उपयोगकर्ता से इनपुट के लिए संकेत देता है। फिर पिछली सामग्री को साफ़ करने के बाद इनपुट का उपयोग Text
विजेट को अपडेट करने के लिए किया जाता है। उत्पादन अनुप्रयोगों के लिए मजबूत त्रुटि हैंडलिंग (जैसे, यदि उपयोगकर्ता रद्द करता है तो None
की जाँच करना) जोड़ा जाना चाहिए।
विधि 3: पूर्वनिर्धारित विकल्पों के साथ टेक्स्ट सेट करना
कई पूर्वनिर्धारित पाठ विकल्पों वाले परिदृश्यों के लिए, बटन या मेनू का उपयोग करने पर विचार करें।
import tkinter as tk
def set_predefined_text(text):
text_widget.delete("1.0", tk.END)
text_widget.insert(tk.END, text)
root = tk.Tk()
text_widget = tk.Text(root, height=5, width=30)
text_widget.pack()
options = ["विकल्प 1", "विकल्प 2", "विकल्प 3"]
for option in options:
button = tk.Button(root, text=option, command=lambda text=option: set_predefined_text(text))
button.pack()
root.mainloop()
यह कई बटन बनाता है, प्रत्येक एक अलग पूर्वनिर्धारित पाठ स्ट्रिंग सेट करता है। lambda
फ़ंक्शन सुनिश्चित करता है कि प्रत्येक बटन का आदेश सही विकल्प का उपयोग करता है।
विधि 4: टेक्स्ट जोड़ना
मौजूदा सामग्री को बदलने के बजाय पाठ जोड़ने के लिए, बस delete
कॉल को छोड़ दें:
import tkinter as tk
def append_text():
text_widget.insert(tk.END, "nजोड़ा गया पाठ") #न्यूलाइन कैरेक्टर पर ध्यान दें
root = tk.Tk()
text_widget = tk.Text(root, height=5, width=30)
text_widget.pack()
button = tk.Button(root, text="पाठ जोड़ें", command=append_text)
button.pack()
root.mainloop()
निष्कर्ष
delete
और insert
का उपयोग करके Tkinter Text
विजेट को अपडेट करना सरल है। उपयोगकर्ता इनपुट या पूर्वनिर्धारित विकल्पों के साथ इनका संयोजन गतिशील और इंटरैक्टिव इंटरफेस बनाता है। अवांछित संयोजन से बचने के लिए नई सामग्री सम्मिलित करने से पहले मौजूदा पाठ को साफ़ करना याद रखें।
FAQ
- प्रश्न: क्या मैं समृद्ध पाठ स्वरूपण का उपयोग कर सकता हूँ? उत्तर: हाँ,
Text
विजेट टैग का उपयोग करके समृद्ध पाठ स्वरूपण का समर्थन करता है। यह इस ट्यूटोरियल के दायरे से परे है, लेकिन कई ऑनलाइन संसाधन टैग-आधारित स्वरूपण को कवर करते हैं। - प्रश्न: मैं बड़ी मात्रा में पाठ को कैसे संभालूँ? उत्तर: व्यापक पाठ के लिए, अधिक कुशल अद्यतन विधियों पर विचार करें, संभवतः पूर्ण हटाने और पुनः सम्मिलित करने से बचें। वृद्धिशील अद्यतन या विशेष पाठ संपादक पुस्तकालयों का अन्वेषण करें।