टिंकर एंट्री का गेट फ़ंक्शन कुछ भी नहीं देता है: एक व्यापक स्पष्टीकरण
जब गेट() का उपयोग करके टिंकर एंट्री विजेट से उपयोगकर्ता इनपुट पुनर्प्राप्त करने का प्रयास किया जाता है फ़ंक्शन, आपको एक खाली रिटर्न मान का सामना करना पड़ सकता है। यह प्रतीत होता है कि भ्रमित करने वाला मुद्दा टिंकर की अतुल्यकालिक प्रकृति और फ़ंक्शन निष्पादन के क्रम से उत्पन्न होता है।
प्रदान किए गए कोड स्निपेट में, आप इसे बनाने के तुरंत बाद प्रविष्टि के मूल्य को पुनः प्राप्त करने का प्रयास करते हैं। हालाँकि, टिंकर एक "इवेंट लूप" मॉडल का अनुसरण करता है जहां मेनलूप() फ़ंक्शन लागू होने के बाद जीयूआई इवेंट संसाधित होते हैं। इसका मतलब यह है कि जब get() फ़ंक्शन को मेनलूप() से पहले कॉल किया जाता है, तो कोई उपयोगकर्ता इनपुट अभी तक दर्ज नहीं किया गया है, जिसके परिणामस्वरूप एक खाली रिटर्न मान होता है।
इस समस्या को हल करने के लिए, एक दृष्टिकोण get() को कॉल करना है किसी ईवेंट से जुड़े एक अलग फ़ंक्शन के भीतर, जैसे बटन क्लिक। ऐसे वर्ग-आधारित दृष्टिकोण का एक उदाहरण प्रदान किया गया है:
import tkinter as tk
class SampleApp(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.entry = tk.Entry(self)
self.button = tk.Button(self, text="Get", command=self.on_button)
self.button.pack()
self.entry.pack()
def on_button(self):
print(self.entry.get())
app = SampleApp()
app.mainloop()
इस उदाहरण में, get() फ़ंक्शन को on_button फ़ंक्शन के भीतर लागू किया जाता है, जो एक बटन के क्लिक इवेंट से जुड़ा होता है। जब बटन क्लिक किया जाता है, तो प्रविष्टि का मान पुनर्प्राप्त और मुद्रित होता है, जिससे आप उपयोगकर्ता इनपुट के साथ प्रभावी ढंग से बातचीत कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3