GtkEntry文本更改信号

时间:2010-10-07 05:03:38

标签: c gtk

如何在GtkEntry的缓冲区中连接信号回调以进行任何类型的更改,包括添加,删除,粘贴或剪切的字符?我没有找到这个,就查看了GtkWidget,GtkEntry和GtkEntryBuffer的文档。

注意:如果我的问题措辞严重,请考虑HTML DOM的change事件,之外,它会在导致更改的每一个按键或事件后贪婪地被触发,而不仅仅是检查不重点。

1 个答案:

答案 0 :(得分:23)

changed接口的GtkEditable信号:

  

在GtkEditable内容的单个用户可见操作结束时发出:: changed信号。

     

例如,替换选择内容的粘贴操作将仅导致一个信号发射(即使通过首先删除选择,然后插入新内容,并且可能导致多个:: notify :: text信号来实现发射)。

(我通过查看implemented interfaces部分找到了。)

这表示您还可以连接text propertynotify信号(具体为notify::text)。

还有preedit-changed信号:

  

如果使用输入法,则键入的文本不会立即提交到缓冲区。因此,如果您对该文本感兴趣,请连接此信号。