我如何从.py文件更改.kv文件中的TextInput框的hint_text

时间:2019-05-30 11:09:48

标签: python kivy

我想在.py文件中定义的调用函数上更改.kv中的文本框的hint_text

我知道标签文本可以这样更改   self.root.ids.tm.text ='[color =#FF0000]超时[/ color]' 但在文本框前的情况下相同   self.root.ids.some_id.hint_text:“一些特殊文字”

1 个答案:

答案 0 :(得分:0)

从App类中更改

使用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