python - accessing data in the kivy language from ScreenManager -


how can access kivy data myscreenmanager ? how can access hellow or timer data ? cant use on_release: root.starttimer() in hellow.

class hellow(screen):     pass  class timer(screen):     pass  class myscreenmanager(screenmanager):     def starttimer(self):         #change text hellow button   root_widget = builder.load_string(''' #:import fadetransition kivy.uix.screenmanager.fadetransition myscreenmanager:     transition: fadetransition()     hellow:     timer: <hellow>:     anchorlayout:         button:             id:             size_hint: none, none             size:300,100             text: 'make foto'             font_size: 30             on_release: app.root.starttimer()  <timer>:     name: 'timer' ''')    class screenmanagerapp(app):     def build(self):         print(self.ids)         return root_widget  if __name__ == '__main__':     screenmanagerapp().run() 

some text stackoverflow (it says need type more text),

screen manager used accept screen widgets if try add else button or label throw exception. kivy.uix.screenmanager.screenmanagerexception: screenmanager accepts screen widget. 1 root object allowed .kv file in case, can access hello or timer each other.

<hellow>:     name: 'hello'     ...     button:         id:         ...         on_release: root.parent.current = 'timer'  <timer>:     name: 'timer'     button:         text: "take me hellow"         on_release: root.parent.current = 'hello'  

but there way too.

<main>:     boxlayout:         button:             text: "hello"             on_release: sm.current = 'timer'             on_release: print(lbl.text)          button:             text: "timer"             on_release: sm.current = 'hello'     screenmanager:         id: sm         screen:             name: hello             label:                 id: lbl                 text: "i hello"          screen:             name: timer             label:                 text: "i timer" 

edit 1:

as asked in comment

class myscreenmanager(screenmanager):     def __init__(self,**kwargs):         super(myscreenmanager,self).__init__(**kwargs)       def starttimer(self,event):         #print event.text         event.text = "changed text"  <hellow>:     ...     button:         ...         on_release: root.parent.starttimer(self) 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -