"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > टिंकर एंट्री को फ़ंक्शन रिटर्न नथिंग क्यों मिलता है?

टिंकर एंट्री को फ़ंक्शन रिटर्न नथिंग क्यों मिलता है?

2024-11-06 को प्रकाशित
ब्राउज़ करें:121

Why Does Tkinter Entry\'s get Function Return Nothing?

टिंकर एंट्री का गेट फ़ंक्शन कुछ भी नहीं देता है: एक व्यापक स्पष्टीकरण

जब गेट() का उपयोग करके टिंकर एंट्री विजेट से उपयोगकर्ता इनपुट पुनर्प्राप्त करने का प्रयास किया जाता है फ़ंक्शन, आपको एक खाली रिटर्न मान का सामना करना पड़ सकता है। यह प्रतीत होता है कि भ्रमित करने वाला मुद्दा टिंकर की अतुल्यकालिक प्रकृति और फ़ंक्शन निष्पादन के क्रम से उत्पन्न होता है।

प्रदान किए गए कोड स्निपेट में, आप इसे बनाने के तुरंत बाद प्रविष्टि के मूल्य को पुनः प्राप्त करने का प्रयास करते हैं। हालाँकि, टिंकर एक "इवेंट लूप" मॉडल का अनुसरण करता है जहां मेनलूप() फ़ंक्शन लागू होने के बाद जीयूआई इवेंट संसाधित होते हैं। इसका मतलब यह है कि जब 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 फ़ंक्शन के भीतर लागू किया जाता है, जो एक बटन के क्लिक इवेंट से जुड़ा होता है। जब बटन क्लिक किया जाता है, तो प्रविष्टि का मान पुनर्प्राप्त और मुद्रित होता है, जिससे आप उपयोगकर्ता इनपुट के साथ प्रभावी ढंग से बातचीत कर सकते हैं।

विज्ञप्ति वक्तव्य इस लेख को पुन: पेश किया गया है: 1729297276 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3