2009-06-24 60 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 2009-06-27 14:54:24

1

你確定你是在觸發適當的事件嗎?也請嘗試連接後。