Python Kivy文本输入自动完成。如何使用kv文件获得相同的结果?
我想在我的代码中使用kv文件作为文本输入,但我不知道如何获得相同的结果,如何翻译这行代码:Python Kivy文本输入自动完成。如何使用kv文件获得相同的结果?,python,kivy,Python,Kivy,我想在我的代码中使用kv文件作为文本输入,但我不知道如何获得相同的结果,如何翻译这行代码: text_input.bind(text=self.action) 有人能帮我吗 from kivy.app import App from kivy.lang import Builder from textwrap import dedent class MyApp(App): def action(self,instance,value): word_list = [
text_input.bind(text=self.action)
有人能帮我吗
from kivy.app import App
from kivy.lang import Builder
from textwrap import dedent
class MyApp(App):
def action(self,instance,value):
word_list = ["hello", "hi", "man", "girl"]
self.root.suggestion_text = ''
val = value[value.rfind(' ') + 1:]
if not val:
return
try:
word = [word for word in word_list
if word.startswith(val)][0][len(val):]
if not word:
return
self.root.suggestion_text = word
except IndexError:
print('Index Error.')
def build(self):
text_input = Builder.load_string(dedent('''
TextInput
'''))
text_input.bind(text=self.action)
return text_input
if __name__ == "__main__":
MyApp().run()
您需要使用
action
方法绑定on_text
事件,以引用您的MyApp
实例(app.action(args)
)和”:“
语法:
from kivy.app import App
from kivy.lang import Builder
from textwrap import dedent
class MyApp(App):
def action(self,instance,value):
word_list = ["hello", "hi", "man", "girl"]
self.root.suggestion_text = ''
val = value[value.rfind(' ') + 1:]
if not val:
return
try:
word = [word for word in word_list
if word.startswith(val)][0][len(val):]
if not word:
return
self.root.suggestion_text = word
except IndexError:
print('Index Error.')
def build(self):
text_input = Builder.load_string(dedent('''
TextInput:
on_text: app.action(self, self.text)
'''))
return text_input
if __name__ == "__main__":
MyApp().run()
您需要使用
action
方法绑定on_text
事件,以引用您的MyApp
实例(app.action(args)
)和”:“
语法:
from kivy.app import App
from kivy.lang import Builder
from textwrap import dedent
class MyApp(App):
def action(self,instance,value):
word_list = ["hello", "hi", "man", "girl"]
self.root.suggestion_text = ''
val = value[value.rfind(' ') + 1:]
if not val:
return
try:
word = [word for word in word_list
if word.startswith(val)][0][len(val):]
if not word:
return
self.root.suggestion_text = word
except IndexError:
print('Index Error.')
def build(self):
text_input = Builder.load_string(dedent('''
TextInput:
on_text: app.action(self, self.text)
'''))
return text_input
if __name__ == "__main__":
MyApp().run()