очистка символа новой строки от gtk.Textbuffer - PullRequest
1 голос
/ 24 июня 2009

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

Ответы [ 2 ]

2 голосов
/ 27 июня 2009

По умолчанию обратный вызов "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)
1 голос
/ 27 июня 2009

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

...