limpar nova linha char gtk.Textbuffer
Pergunta
Eu tenho um gtk.TextBuffer que é suposto ser limpo depois de pressionar Enter, semelhante à caixa de entrada na maioria dos programas de chat. Eu apenas estou definindo a parte de trás do buffer para uma cadeia em branco. O caractere de nova linha de Enter não é removido apesar de, e uma linha em branco termina acima do cursor durante a próxima entrada. Mover o cursor para a primeira gtk.Iter não ajuda.
Solução
Por padrão, "gobject.connect()"
callback é chamado antes do manipulador padrão. Você precisa usar "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)
Outras dicas
Você tem certeza que está gatilho do evento adequada? Também tente ligá-lo depois.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow