私の非常に基本的な問題は申し訳ありませんが、私は役に立たない1時間の答えを探しています。Kivy関数でウィジェットにアクセスする方法、KVなしPythonコード
これが私の基本的なコードです:あなたが見ることができるように
class LoginScreen(Screen):
def __init__(self,**kwargs):
super(LoginScreen,self).__init__(**kwargs)
l = BoxLayout(orientation='vertical')
sound_btn = Button(text="Play Sound", font_size = 300)
word_bx = TextInput(multiline=False,hint_text='type here...',font_size=300)
submit_btn = Button(text = 'Submit', font_size=300)
submit_btn.bind(on_press = self.submitAction)
l.add_widget(sound_btn)
l.add_widget(word_bx)
l.add_widget(submit_btn)
self.add_widget(l)
def submitAction(self,*args):
if self.word_bx.text == KivyApp.word:
KivyApp.point+=1
self.word_bx.text=""
KivyApp.i +=1
print(KivyApp.point)
、submitAction機能でIはword_bxウィジェットを参照するが、これはクラスLoginPageが全く属性word_bxを持っていないというエラーがスローされます。私はその後、自分の前に 'ids'を配置しようとしましたが、別のエラーがスローされます。私は間違って何をしていますか?私の無能のため申し訳ありません..
こんにちはおかげで、これは解決策ではありません。私はレイアウトウィジェットにテキストボックスを追加する必要があります、私はそれを宣言することはできません自己kivyは好きではありません。 –
Class LoginPageには属性word_bxがないため、エラーが報告されました。私はその原因を説明した。私は理解していない "私はそれを宣言することはできません自己kivyが好きではないように。 Kivyは変数が 'self.word_bx'または' word_bx'として宣言されているかどうかを知ることはできません。 Kivyが好きでないことをもう少し明示することはできますか? AttributeErrorを消した後、他のエラーはどうなりますか? – BoarGules
はい、私が 'self.word_bx'を実行した場合、クラスには属性word_bxがないというエラーが表示されます。私はあなたのコード全体を見せていないので、私は自分のせいだと思う。このクラスはスクリーン・マネージャーの一員である。 –