0
私はkivyでアプリケーションを作っています.kvファイルには、MainScreenという2つのTextInputボックスがあります。ボタンを押すと、画面はLoggedInScreenに変わります。 MainScreenのTextInputボックスからLoggedInScreenに入力を渡すにはどうすればよいのですか?main.pyで定義した関数の位置引数として使用できますか?これは私が試したことです(関連するコードのみ):kivyの別画面で変数を使用する
<LoggedInScreen>:
name: 'loggedin'
FloatLayout:
TextInput:
#This is not working
text: root.auth(MainScreen.ids.username.text, MainScreen.ids.password.txt)
font_name: 'PCBius.ttf'
background_color: (73/255,73/255,73/255,1)
keyboard_mode: 'managed'
readonly: True
size: 405, self.height
pos: 495,0
<MainScreen>:
name:'main'
FloatLayout:
TextInput:
id: username
multiline: False
size_hint: self.width/self.width/5, self.height/self.height/16
pos: 200,292
TextInput:
id: password
password: True
multiline: False
size_hint: self.width/self.width/5, self.height/self.height/16
pos: 200,232
しかし、MainScreenが定義されていないというエラーが出力されます。
ありがとうございました!
私が理解していない限り、私はあなたが私が意味するものを得るとは思わない(おそらくその場合、私はかなり新しい)。 "MainScreen.ids.username.text"を呼び出すと、動作しません。 LoggedInScreenでは、どのようにしてMainScreenのTextInputボックスのテキストを取得できますか? –
@LoganDarby私はあなたが何を意味しているのか理解しています。あなたは画面間でデータを渡したいと思っています。私はそれを簡単な方法で解説しました。すでにスクリーンを管理しているので、スクリーン・マネージャを使用することをお薦めします。 'MainScreen.ids.username.text'は動作しません。オブジェクトではなくクラスにアクセスしているからです。オブジェクトは、子ウィジェットとしてスクリーンマネージャに格納されます。 – jligeza