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

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

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

Почему в 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
0
974
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

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

Используйте 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 ChangeTextInput's Hint Text - After Change

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