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.

Était-ce utile?

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
scroll top