मैं बस अपनी दूसरी कक्षा से अपने होम क्लास में टेक्स्ट इनपुट से एक संख्यात्मक मान खींचना चाहता हूं, फिर एक फ़ंक्शन में इसके साथ गड़बड़ करने में सक्षम हूं। मुझे लगता है कि मुझे यहां माता-पिता के रिश्ते और वाक्य रचना को समझने में परेशानी हो रही है।

कृपया सहायता कीजिए...

पायथन फ़ाइल:

    class Home(Screen):
    
        #Generic function
        def test(self):
    
            #grab numbers from text input here and be able to use the numeric value using ids
            #distance=..? I think normally it's self.root.distance.text
            print("distance text input variable here")
            pass
    
    class Second(Screen):
        pass  
    class WindowManager(ScreenManager):
        pass
   
    class HelpMe(App):
        def build(self):
            kv = Builder.load_file("help.kv")
            self.Home=Home()
            return kv
    
    if __name__ == "__main__":
        HelpMe().run()

कीवी फ़ाइल:

WindowManager:
    Home:
    Second:
<Home>:
    name:"Home"
    GridLayout:
        cols:1
        Button:
            text:"Go"
            on_release:
                app.root.current="Second"
                root.manager.transition.direction="left"
<Second>:
    name:"Second"
    distance:distance
    GridLayout:
        cols:1
        TextInput:
            id:distance
            input_filter:"int"
        Button:
            text:"Back"
            #Initiate test code so I can work with values
            on_release:
                app.Home.test()
                app.root.current="Home"
                root.manager.transition.direction="right"
0
user1958129 20 नवम्बर 2020, 00:59

1 उत्तर

सबसे बढ़िया उत्तर

जब आपका बटन क्लिक किया जाता है तो आप इसे केवी भाषा से परीक्षण कार्य में पास कर सकते हैं:

on_release:
    app.Home.test(distance)
    app.root.current="Home"
    root.manager.transition.direction="right"

और फिर आप इसे अपने फ़ंक्शन पर पढ़ते हैं:

def test(self, dist):
    print(dist.text)

याद रखें कि यह स्ट्रिंग के रूप में आता है। यदि आप संख्यात्मक के रूप में उपयोग करना चाहते हैं तो आपको इसे int() में बदलना होगा।

0
Arthur Pereira 20 नवम्बर 2020, 04:09