我有一个看起来像这样的文本输入小部件:
<ReaderWidget>:
Label:
text: 'Please scan EBT card'
font_size: root.height/8
size: self.texture_size
bold: True
color: 0, 0.70, 0.93, 1
TextInput:
focus: True
password: True
multiline: False
cursor: 0, 0
Run Code Online (Sandbox Code Playgroud)
根据用户按下另一个小部件中的按钮,小部件会动态添加到布局中。目前,用户必须在输入文本之前将鼠标/手指指向文本框,我希望光标在文本框中准备好接收文本,而用户不必通过鼠标按下来指示。有没有办法做到这一点?
好像focus : True
应该这样做。但似乎没有。
我知道这很旧,但是当我尝试做一些非常相似的事情时我发现了这个问题。我添加 TextInput(并设置它的焦点)的代码位于按钮的 on_press 处理程序中。按下会导致 TextInput 被添加到布局并设置焦点,但是当按钮被释放时它会失去焦点。将我的代码移动到 on_release 解决了这个问题。
这在 kivy 1.9.0 中对我有用:
def show_keyboard(event):
text_input.focus = True
Clock.schedule_once(show_keyboard)
Run Code Online (Sandbox Code Playgroud)
如果直接设置text_input.focus似乎不起作用。也许这是 kivy 中的一个错误?
归档时间: |
|
查看次数: |
6028 次 |
最近记录: |