首页 > 解决方案 > 如何递归地基于子小部件使 GTK focus_out 事件触发或如何检查是否没有子控件具有焦点

问题描述

Gtk::Box我有以下小部件结构,当没有任何子小部件具有键盘焦点时,我想做一些任务。用户可以输入搜索条目,列表框包含建议。

Gtk::Box
|
|-- SearchBar
|   |--SearchEntry
|-- ListBox
    |--(many list box rows)

我在用gtkmm-3.0

这是我尝试过的

  1. 将焦点事件附加到 Gtk::Box,没有用。它从来没有焦点
  2. 将 focus_out 附加到 SearchEntry 和 ListBox,当任何行获得焦点时都会触发事件(我希望它仅在没有孩子有焦点时发生)

标签: c++gtk3gtkmmgtkmm3

解决方案


推荐阅读