第一次单击时清除 TextInput 中的默认文本
Clearing default text in TextInput on first click
我有一个包含一些默认文本的 TextInput()
小部件。
当用户在 TextInput
中单击时,最初在 TextInput
中的文本会消失(这样他就可以插入自己的文本 而无需 必须 手动 删除默认文本)。
- 是否有其他方法可以复制上述行为? (例如一些
TextInput
) 的已有属性
- 如果用户在
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
,默认为空
我有一个包含一些默认文本的 TextInput()
小部件。
当用户在 TextInput
中单击时,最初在 TextInput
中的文本会消失(这样他就可以插入自己的文本 而无需 必须 手动 删除默认文本)。
- 是否有其他方法可以复制上述行为? (例如一些
TextInput
) 的已有属性
- 如果用户在
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
,默认为空