Как я могу изменить текст подсказки в поле TextInput, которое находится в файле .kv, из файла .py - PullRequest
0 голосов
/ 30 мая 2019

Я хочу изменить hint_text текстового поля, которое находится в .kv для вызывающей функции, которая определена внутри .py файла

Я знаю, что текст метки можно изменить, как этот self.root.ids.tm.text = '[color = # FF0000] Time over [/ color]', но то же самое не работает в случае текстового поля ex self.root.ids.some_id.hint_text: "некоторый специальный текст"

1 Ответ

0 голосов
/ 30 мая 2019

Изменение из класса приложения

Использование self.root.ids.text_input_id.hint_text = "Something special"

Изменение внутри корневого класса

Использование self.ids.text_input_id.hint_text = "Something special"

Пример

main.py

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder


Builder.load_string("""
<HintTextDemo>:
    orientation: 'vertical'
    TextInput:
        id: text_input
        hint_text: 'Write here'
    Button:
        text: 'Change hint text'
        on_release: app.change_hint_text() 
""")


class HintTextDemo(BoxLayout):
    pass


class TestApp(App):

    def build(self):
        return HintTextDemo()

    def change_hint_text(self):
        self.root.ids.text_input.hint_text = 'Type something here'


if __name__ == "__main__":
    TestApp().run()

выход

TextInput's Hint Text - Before Change TextInput's Hint Text - After Change

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...