[ad_1]
私の問題の簡略版は次のとおりです。
<ValueInput>: TextInput: id: value_input on_text_validate: root.value_input(value_input.text) <DefineVariables>: Button: on_press: root.clear_text()
ValueInput と DefineVariables という 2 つの異なるクラスがあります。 私が望んでいることは、
.py ファイル内:
class MainWidget(BoxLayout): ValueInput = NumericProperty(0) class ValueInput(MainWidget): def value_input(self, ValueInput): ValueInput = ValueInput self.ids.value_input.text = "" #This clears the TextInput box. class DefineVariables(MainWidget): def clear_text(self): CLEAR HERE
.py ファイルにアクセスすると、次のことがわかりました。
self.ids.value_input.text
ValueInput クラスでは、Enter キーを押すとテキストがクリアされます。 でも、私は望んでいません
self.ids.value_input.text
そのクラスに含まれる関数。 私はやってみたいです
self.ids.value_input.text
Kivy ファイルで宣言したボタンを押したとき。
そうするとどうなりますか
def clear_text(self): self.ids.value_input.text = ""
.kvファイルでroot.clear_text()を使用してclear_text関数を呼び出すと、次のエラーが発生します。
AttributeError: 'super' object has no attribute '__getattr__'
どうすればこれを機能させることができるでしょうか?
私が試したこと:
DefineVariables で clear_text 関数を使用しましたが、成功しませんでした。
解決策 2
解決策はありますが、すでに答えが出ていると思います
この問題の解決策をまだ探している場合は、私に返信してください
[ad_2]
コメント