Как я могу узнать позицию курсора в kivy?

Мне нужно нарезать 2 отдельные строки в соответствии с положением курсора в текстовом вводе. И это то, что я пробовал. (text_box - это свойство textinput.)

text_box = ObjectProperty()

x,y = self.text_box.cursor

Но затем я обнаружил, что положение x, y нестабильно и продолжает меняться всякий раз, когда я нажимаю на другое положение.

Могу ли я найти стабильную информацию о положении курсора от Kivy?

Кроме того, есть ли такая вещь, как on_click в textinput вместо on_focus? (так что я могу проверять положение курсора всякий раз, когда нажимаю на ввод текста.)

хммм, как я вижу в документах, TextInput использует две разные системы координат: (x, y) - координаты в пикселях, в основном используется для рендеринга на экране. (row, col) - индекс курсора в символах / строках, используемый для выделения и перемещения курсора. Значит, использование строк и столбцов не решит вашу проблему?

Take_Care_ 10.09.2018 11:23

@Take_Care_ cursor возвращает столбец и строку. Итак, если я использую cursor_col и cursor_row, это одно и то же.

BerryMan 11.09.2018 01:19
0
2
422
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ну text_box.cursor не работал в on_focus

но в on_touch_up работает нормально.

Я не уверен, почему это так. Но, по крайней мере, теперь я могу заставить его работать.

Другие вопросы по теме