GTK:用户编辑某些文本字段时忽略/抑制按键事件

时间:2018-08-19 09:18:38

标签: gtk gtk3

我有一个简单的GTK应用程序,其中有一个Window,其中包含一个TreeView。我为此创建了一个TreeViewColumn,其CellRendererTexteditable

因此,当用户双击TreeView中的一行时,他可以编辑文本。

但是,我还订阅了关键事件(connect_key_press_event上的{Window),旨在提供诸如Backspace之类的热键来执行某些操作。

问题是在用户编辑行时我仍然收到关键事件。因此,例如,当用户在编辑行时按下Backspace键时,我是否有办法知道用户当前是否正在编辑某些内容,以便我可以忽略键事件,或者在用户编辑时不显示键事件? / p>

1 个答案:

答案 0 :(得分:0)

解决方案是检查gtk_window_get_focus()-如果它是CellEditable,则表明用户正在输入文本字段。