2010-10-07 27 views
9

如何爲GtkEntry緩衝區中的任何類型的更改(包括添加,刪除,文本粘貼或剪切的字符)連接信號回調?我查看了GtkWidget,GtkEntry和GtkEntryBuffer的文檔,但沒有找到它。GtkEntry文本更改信號

注:如果我的問題是嚴重的措辭,認爲HTML DOM的change事件,除了,它的每一個按鍵或事件引起變化後,貪婪地解僱,不僅檢查了無焦點的方式。

回答

21

還有就是changed信號(GtkEditable接口的):

的::改變信號在上GtkEditable的內容的單個用戶可見的操作結束時發射。

例如,替換選擇內容的粘貼操作只會導致一個信號發射(即使它是通過首先刪除選擇,然後插入新內容並可能導致multiple :: notify :: text信號發射)。

(我發現,通過檢查implemented interfaces部分。)

這表明您也可以連接到text propertynotify信號(具體地,notify::text)。

還有一個preedit-changed信號:

如果使用輸入的方法,該鍵入的文本將不會立即被提交到緩衝器。所以如果你對文本感興趣,請連接到這個信號。

+0

Aaah,所以它來自'GtkEditable'。謝謝! – 2010-10-07 05:20:55

+0

@Delan Azabani - 無後顧之憂......我還加了一個關於'notify :: text'信號的註釋。 – detly 2010-10-07 05:22:08