В этом примере не делается попытка изменить фокус.Но я предполагаю, что это было опробовано, но оно снова потеряло фокус.
Причина, по которой ввод текста снова теряет фокус, заключается в том, что он фокусируется до отпускания мыши или касания.За методом on_press
следует on_release
, когда ввод текста снова теряет фокус.
Чтобы исправить это, вы можете просто установить фокус в методе on_release
.
Самый быстрый способ - добавить только одну строку кода в файл kv и изменить on_press
на on_release
.
root.manager.get_screen("screen1").ids["input1"].focus
Эта строка может отличаться при использовании, например, свойства объекта на экране screen1.Или, если вы не можете использовать метод on_release
, возможно, используйте часы, чтобы запланировать фокусировку на некоторое время, а если касание все еще не работает, перенесите его.
Но вот быстрое решение.
<Menu2>:
name: "screen2"
BoxLayout:
Button:
text:"Entrada"
on_release:
root.manager.current = "screen1"
root.manager.get_screen("screen1").ids["input1"].focus = True