Frage

Ich habe einen gtk.TextBuffer der angeblich nach Drücken der Eingabetaste, ähnlich das Eingabefeld auf den meisten Chat-Programmen gelöscht werden. Ich gründe nur den Puffer zurück auf eine leere Zeichenkette. Die Neuen-Zeile-Zeichen aus eingeben werden jedoch nicht entfernt, und eine leere Zeile endet über dem Cursor während der nächsten Eingabe auf. den Cursor auf die erste gtk.Iter Umzug hilft nicht.

War es hilfreich?

Lösung

In der Standardeinstellung "gobject.connect()" Rückruf wird, bevor die Standard-Handler aufgerufen. Sie müssen "gobject.connect_after()" verwenden.

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)

Andere Tipps

Sind Sie sicher, dass Sie Trigger auf der richtigen Veranstaltung? Auch versuchen, es nach dem Anschluss.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top