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

有帮助吗?

解决方案

默认情况下,在默认处理程序之前调用"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)

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top