いくつかのGUIツールボックスには、テキストボックスのテキストが変更されるたびにトリガーされるon_change
などのイベントが含まれています。kivy、テキスト変更によるイベントのトリガー方法
これによると: https://kivy.org/docs/api-kivy.uix.textinput.htmlon_text
イベントは等しい必要があります。ですから、私は1つのTextInputボックスを作成しました。これは、ターミナルに表示されるボックスの内容を1文字変更するたびに発生します。
from kivy.app import App
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
class LoginScreen(BoxLayout):
def __init__(self, **kwargs):
super(LoginScreen, self).__init__(**kwargs)
self.orientation = 'horizontal'
self.mytext = TextInput(text='500', multiline = False)
self.add_widget(self.mytext)
self.mytext.bind(on_text = self.calc)
#self.mytext.bind(on_text_validate = self.calc)
def calc(self, mytext):
print mytext.text
class MyApp(App):
def build(self):
return LoginScreen()
if __name__ == '__main__':
MyApp().run()
はまだ、何も起こりません、明らかにcalc
機能がまったくトリガされないことを意味します。これは、コードです。 on_text_validate
イベントが正常に機能することを覚えておいてください。なぜなら、Enterキーを押したときにボックスの内容が端末に表示されるからです。
私はon_text
イベントを誤解しましたか?もしそうなら、私はどのように目標を達成できますか?