如何清除脱敏 GtkWidget 的焦点 - GtkSpinButton with 属性 sensitive = false

How can I clear the focus from a desensitized GtkWidget - GtkSpinButton with property sensitive = false

背景:我在 GtkNotebook 中设置了几个选项卡,当主选项卡上满足某些条件时,'test signals' 选项卡中的输入字段会相应地被禁用。

GtkSpinButton 中的输入在 'test signals' 选项卡上突出显示并且 GtkSpinButton 的 属性 sensitive 设置为 falseGtkSpinButton 中的文本仍然突出显示。因为有时此选项卡上没有其他可编辑字段,所以文本会一直突出显示,直到另一个小部件将其 属性 sensitive 设置为 true.

这对我来说看起来很草率,所以我想停止这种行为并让设置为 sensitive = false 的小部件全部清除焦点或突出显示。知道如何在设置 sensitive = false 之前取消突出显示 GtkSpinButton 中的文本吗?

要取消选择,您可以使用 gtk_editable_select_region() 函数。这是 GtkEditable 上的一个方法,一个 GtkEntry 和 GtkSpinButton 都满足的接口。您可以使用 GTK_EDITABLE() 将其中任何一个转换为 GtkEditable。例如:

gtk_editable_select_region(GTK_EDITABLE(spinbutton), 0, 0);