Ich habe einen gtk.TextBuffer, der nach dem Drücken der Eingabetaste gelöscht werden soll, ähnlich dem Eingabefeld in den meisten Chat-Programmen. Ich setze den Puffer nur auf eine leere Zeichenfolge zurück. Das Newline-Zeichen von Enter wird jedoch nicht entfernt und eine Leerzeile endet bei der nächsten Eingabe über dem Cursor. Das Verschieben des Cursors auf den ersten gtk.Iter hilft nicht.clearing newline char von gtk.Textbuffer
1
A
Antwort
2
Standardmäßig wird "gobject.connect()"
Callback vor dem 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)
1
Sind Sie sicher, dass Sie das Ereignis ausgelöst haben? Versuchen Sie es auch danach zu verbinden.
Danke, das hat funktioniert. – wodemoneke