я хочу изменить hint_text текстового поля, которое находится в .kv, в вызывающей функции, которая определена внутри файла .py
Я знаю, что текст метки можно изменить вот так self.root.ids.tm.text = '[color=#FF0000]Время истекло[/color]' но то же самое не работает в случае текстового поля ex self.root.ids.some_id.hint_text:"какой-то специальный текст"
Используйте self.root.ids.text_input_id.hint_text = "Something special"
Используйте self.ids.text_input_id.hint_text = "Something special"
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()