我有一个简单的GTK应用程序,其中有一个Window
,其中包含一个TreeView
。我为此创建了一个TreeViewColumn
,其CellRendererText
是editable
。
因此,当用户双击TreeView
中的一行时,他可以编辑文本。
但是,我还订阅了关键事件(connect_key_press_event
上的{Window
),旨在提供诸如Backspace之类的热键来执行某些操作。
问题是在用户编辑行时我仍然收到关键事件。因此,例如,当用户在编辑行时按下Backspace键时,我是否有办法知道用户当前是否正在编辑某些内容,以便我可以忽略键事件,或者在用户编辑时不显示键事件? / p>
答案 0 :(得分:0)
解决方案是检查gtk_window_get_focus()
-如果它是CellEditable
,则表明用户正在输入文本字段。