Как я могу узнать позицию курсора в 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
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
422
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

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

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

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

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