从gtk.Textbuffer中清除换行符

时间:2009-06-24 11:54:35

标签: gtk pygtk

我有一个gtk.TextBuffer,它应该在按Enter后清除,类似于大多数聊天程序的输入框。我只是将缓冲区设置为空字符串。但是,Enter中的换行符不会被删除,并且在下一次输入期间,空行将在光标上方结束。将光标移动到第一个gtk.Iter没有帮助。

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:1)

你确定你是在触发正确的事件吗?也可以尝试连接它。