我目前正在与Kivy一起开发应用程序。 在一个屏幕上,我有一个TextInput和一个按钮。我可以输入文字并按按钮进入下一个屏幕。 我的问题是:有没有办法在输入文字后直接按下“返回”键,然后自动按下按钮而无需实际触摸?
还有一个小问题:我放
focus: True
在TextInput下,因此当我进入屏幕时它将立即聚焦textinput。但这是行不通的。经过一些Google搜索之后,很多人说这是一个错误,尽管这些评论还很陈旧(不到1年)。这仍然是错误的还是有解决方案?
TextInput:
focus: True
pos_hint: {'x': .3, 'top': .8}
size_hint: .4, .05
id: search
multiline:False
Button:
text: 'back'
font_size: 25
size_hint: .3, .15
pos_hint: {'x':.15, 'top': .4}
on_release:
app.root.current = 'main'
root.manager.transition.direction = 'right'
答案 0 :(得分:0)
您应该在TextInput
中使用它:
on_text_validate:
app.root.current = 'main'
root.manager.transition.direction = 'right'
对于自动对焦,我使用子类。
在.py中,我为TextInput
创建了一个新类,并使用了它。.
class MyTextInput(TextInput):
""" TextInput with auto-focus
"""
def __init__(self, **kwargs):
super(MyTextInput, self).__init__(**kwargs)
def set_focus(dt):
self.focus = True
Clock.schedule_once(set_focus, .1)