前提・実現したいこと
Pythonのkivyで、MainscreenとSubscreenの変数の引き継ぎ?について質問します。
以下のコードで、例えば、Subscreenの"input"に"ABC"と入力すると、Mainscreenの'XXX'の箇所に"ABC"と表示されるようにしたいです。
MainscreenとSubscreenの変数の引き継ぎ?をどう書けば良いのかわかりません。
どうぞおよろしくお願いします。
###ソースコード
python
1from kivy.uix.screenmanager import ScreenManager, Screen 2from kivy.app import App 3from kivy.lang.builder import Builder 4 5from kivy.config import Config 6Config.set('graphics', 'width', '640') 7Config.set('graphics', 'height', '480') 8 9 10Builder.load_string(''' 11<MainScreen>: 12 BoxLayout: 13 size: root.size 14 15 Label: 16 17 id: label1 18 font_size: 40 19 text: 'XXX' 20 21 Button: 22 id: label_syokuhin 23 font_size: 40 24 text:'next' 25 26 on_press: 27 root.manager.transition.direction='left' 28 root.manager.current = 'second' 29 30 31<SubScreen>: 32 BoxLayout: 33 orientation: 'vertical' 34 35 BoxLayout: 36 Button: 37 text: 'back' 38 font_size: 40 39 on_press: 40 root.manager.transition.direction='right' 41 root.manager.current = 'first' 42 43 TextInput: 44 id: text1 45 font_size: 40 46 47 line_height: 1 48 multiline: False 49 hint_text: 'input' 50 51''') 52 53class MainScreen(Screen): 54 pass 55 56 def __init__(self, **kwargs): 57 super(MainScreen, self).__init__(**kwargs) 58 pass 59 60 61class SubScreen(Screen): 62 pass 63 64 def __init__(self, **kwargs): 65 super(SubScreen, self).__init__(**kwargs) 66 67 68sm = ScreenManager() 69sm.add_widget(MainScreen(name= 'first')) 70sm.add_widget(SubScreen(name= 'second')) 71 72class MainApp(App): 73 def build(self): 74 return sm 75 76if __name__=='__main__': 77 MainApp().run()
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。