2016-01-29 3 views
0

J'ai un widget TextInput() qui contient du texte par défaut.Effacement du texte par défaut dans TextInput au premier clic

enter image description here

Lorsqu'un utilisateur clique dans l'TextInput, le texte qui a d'abord été à l'intérieur des TextInput disparaît (pour qu'il puisse insérer son propre texte sans avoir à manuellement supprimer le texte par défaut).

  1. Existe-t-il un autre moyen de répliquer le comportement ci-dessus? (Par exemple attribut déjà existant de TextInput)
  2. Comment puis-je le faire réinsérer automatiquement le texte si l'utilisateur n'a rien entré après avoir cliqué à l'intérieur du TextInput et concentré sur un autre widget. J'ai essayé on_unfocus: self.text = "(optionally add a description of the bug here)" mais il n'y a aucun attribut unfocus.

Code utilisé:

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()) 

Répondre