По какой-то причине, когда я трижды коснусь TextInput, постукивающая строка не выделена - PullRequest
0 голосов
/ 25 января 2019

Я использую TextInput Киви в проекте. В документации говорится, что TextInput.on_triple_tap выделяет всю повернутую строку. Но когда я нажимаю на строку в моем текстовом поле, ничего не выделяется.

Я даже пытался создать собственную функцию on_triple_tap, но она тоже не сработала.

Я что-то упустил?

Первый пример - это должно работать, но не

from kivy.app import App
from kivy.uix.textinput import TextInput


class ManagerApp(App):
    def build(self):
        return TextInput(text='hello world')


if __name__ == '__main__':
    ManagerApp().run()

второй пример - я пытался переопределить on_triple_tap, печатает «достигнуто», но ничего не выбирает

from kivy.app import App
from kivy.uix.textinput import TextInput


class ManagerApp(App):
    def build(self):
        self.ti = TextInput(text='hello world', 
on_triple_tap=self.my_triple_tap)
        return self.ti

    def my_triple_tap(self, ti):
        print 'reached'
        ti.select_all()


if __name__ == '__main__':
    ManagerApp().run()

1 Ответ

0 голосов
/ 26 января 2019

У вас должна быть хотя бы одна «строка» текста в TextInput.Это означает по крайней мере один newline символ.Изменить:

class ManagerApp(App):
    def build(self):
        return TextInput(text='hello world')

на:

class ManagerApp(App):
    def build(self):
        return TextInput(text='hello world\n')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...