#python #ios #keyboard #kivy #widget
Вопрос:
На главной странице моего приложения kivy для iOS пользователь должен ввести слово и число в два отдельных поля ввода текста. Я искал, но не смог найти способ заставить программную клавиатуру iOS отображать клавиатуру «numbers», когда это конкретное поле ввода текста сфокусировано.
Я чувствую, что я вроде на правильном пути, но делаю это неправильно. Я пробовал:
from kivy.uix.behaviors import FocusBehavior
def __init__(self, **kwargs):
super(MainApp, self).__init__(**kwargs)
FocusBehavior.input_type('numbers')
Но я не знаю, как внедрить это в свой код, чтобы он действительно работал. Я не хочу, чтобы он устанавливался глобально, потому что большинство других текстовых вводов в приложении на самом деле являются текстовыми.
Я попытался использовать его в своем реальном виджете TextInput следующим образом:
#:import FocusBehavior.input_type kivy.uix.behaviors
TextInput:
id: eta1
markup: True
input_type: 'number' # here is where i'm attempting
multiline: False
font_size: '20sp'
hint_text: "ETA 1 in UTC"
opacity: 1 if self.text else .7
padding_y: [self.height / 2.0 - (self.line_height / 2.0) * len(self._lines), 0]
padding_x: [10, 0]
text: self.text.upper() if self.text is not None else ''
size_hint: .4, .08
pos_hint: {"top": .775, "center_x": .71}
Я просматривал документы Kivy здесь, чтобы попытаться понять, как его использовать, и, скорее всего, я ошибаюсь. Я тоже посмотрел здесь и тоже ничего не нашел. Один пост, похоже, подумал, что, возможно, он не работает с программными клавиатурами iOS?? Это правда??
Пожалуйста, помогите мне, так как я очень застрял.
Комментарии:
1. Я не совсем уверен в вашем случае, но, может быть, это может помочь?
2. Я видел это раньше, но считаю, что это для создания вашей собственной виртуальной клавиатуры, а не для отображения цифровой стороны клавиатуры iOS, к сожалению.