第一次单击时清除 TextInput 中的默认文本

Clearing default text in TextInput on first click

我有一个包含一些默认文本的 TextInput() 小部件。

当用户在 TextInput 中单击时,最初在 TextInput 中的文本会消失(这样他就可以插入自己的文本 而无需 必须 手动 删除默认文本)。

  1. 是否有其他方法可以复制上述行为? (例如一些 TextInput)
  2. 的已有属性
  3. 如果用户在 TextInput 内部单击并关注其他小部件后没有输入任何内容,我如何才能让它自动重新插入文本。我试过 on_unfocus: self.text = "(optionally add a description of the bug here)" 但没有 unfocus 属性。

使用的代码:

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

Builder.load_string("""
<Main>:
    Button:
        text: 'Send bug report button'
    TextInput:
        never_selected: False
        text: '(optionally add a description of the bug here)'
        on_focus: if self.never_selected == False: self.text = ''; self.never_selected = True
""")


class Main(BoxLayout):
    pass


if __name__ == '__main__':
    from kivy.base import runTouchApp
    runTouchApp(Main())

它在文档中:hint_text property

是一个StringProperty,默认为空