effacer le caractère de nouvelle ligne de gtk.Textbuffer
Question
J'ai un gtk.TextBuffer qui est supposé être effacé après avoir appuyé sur Entrée, comme dans la zone de saisie de la plupart des programmes de discussion. Je ne fais que redéfinir le tampon sur une chaîne vide. Le caractère de nouvelle ligne de Entrée n'est cependant pas supprimé et une ligne vide se termine au-dessus du curseur lors de la prochaine entrée. Déplacer le curseur sur le premier gtk.Iter n'aide pas.
La solution
Par défaut, le rappel "gobject.connect ()"
est appelé avant le gestionnaire par défaut. Vous devez utiliser "gobject.connect_after ()"
.
def insert_text_cb(text_buffer, position, text, lenght):
if text == '\n':
text_buffer.set_text('')
text_view = gtk.TextView()
text_view.get_buffer().connect_after('insert-text', insert_text_cb)
Autres conseils
Êtes-vous sûr de vouloir déclencher le bon événement? Essayez également de le connecter après.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow