2009-06-24 2 views
1

У меня есть gtk.TextBuffer, который должен быть очищен после нажатия Enter, аналогично поле ввода в большинстве чат-программ. Я просто устанавливаю буфер обратно в пустую строку. Символ новой строки от Enter не удаляется, хотя пустая строка заканчивается над курсором во время следующего ввода. Перемещение курсора на первый gtk.Iter не помогает.очистка символа новой строки от gtk.Textbuffer

ответ

2

По умолчанию обратный вызов "gobject.connect()" вызывается перед обработчиком по умолчанию. Вам нужно использовать "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) 
+0

Спасибо, это сработало. – wodemoneke

1

Вы уверены, что используете триггер на правильном мероприятии? Также попробуйте подключить его после.

Смежные вопросы