如何在GtkEntry的缓冲区中连接信号回调以进行任何类型的更改,包括添加,删除,粘贴或剪切的字符?我没有找到这个,就查看了GtkWidget,GtkEntry和GtkEntryBuffer的文档。
注意:如果我的问题措辞严重,请考虑HTML DOM的change
事件,除之外,它会在导致更改的每一个按键或事件后贪婪地被触发,而不仅仅是检查不重点。
答案 0 :(得分:23)
changed
接口的GtkEditable
信号:
在GtkEditable内容的单个用户可见操作结束时发出:: changed信号。
例如,替换选择内容的粘贴操作将仅导致一个信号发射(即使通过首先删除选择,然后插入新内容,并且可能导致多个:: notify :: text信号来实现发射)。
(我通过查看implemented interfaces部分找到了。)
这表示您还可以连接text
property的notify
信号(具体为notify::text
)。
还有preedit-changed
信号:
如果使用输入法,则键入的文本不会立即提交到缓冲区。因此,如果您对该文本感兴趣,请连接此信号。