2017-11-06 6 views
0

は、私は次のコード(ほとんど直接https://kivy.org/docs/api-kivy.uix.textinput.htmlからコピー)している取る:私はこれを実行するとKivyのTextInput:例外TypeError:on_enter()は正確に2つの引数を(1与えられた)

18 def on_enter(instance, value): 
    19  print('User pressed enter in', value) 
      ... 
    83 class UserInterface(BoxLayout): 
    84  def __init__(self, SomeStringList, **kwargs): 
    85   super(UserInterface, self).__init__(**kwargs) 
       ... 
    152 def callback(self, instance): 
       ... 
    205  textinput = TextInput(text='Hello world', multiline=False) 
    206  textinput.bind(on_text_validate=on_enter) 

私は次のエラーを取得する

TypeError: on_enter() takes exactly 2 arguments (1 given) 

答えて

0

on_text_validateは、2つの引数ではなく1つのオブジェクトを返します。次のコードを使用してテキストにアクセスすることができます。

18 def on_enter(instance): 
19  print('User pressed enter in', instance.text) 

あなたはまた、より多くの

18 def on_enter(instance): 
19  print('User pressed enter in', instance.text, instance.id, instance.tab_width) 
      ... 
205  textinput = TextInput(id="myID", text='Hello world', multiline=False) 
206  textinput.bind(on_text_validate=on_enter) 

を印刷することができます。これは、次のように出力します:

('The widget', 'have:', u'< InputText >', myID, 4)

https://kivy.org/docs/api-kivy.uix.textinput.html

で複数のプロパティを参照してください。
関連する問題