我有一个自定义GTK小部件(基本上是开罗表面上HBox的叠加)。当我在窗口中的窗口小部件外部单击时,我希望隐藏它。与菜单的行为类似。
我尝试使用grab_focus并等待焦点输出事件但是小部件没有抓住焦点,我认为它不是一个可集中的小部件。[1]
[1] https://developer.gnome.org/pygtk/2.24/class-gtkwidget.html#method-gtkwidget--grab-focus
答案 0 :(得分:1)
如果要使用focus_out事件,可能必须设置CAN_FOCUS标志。
但是,如果您想要单击外部以隐藏窗口小部件(如菜单所需),则必须连接到窗口小部件下方区域的事件。您可以连接到窗口的button_press事件,注意不要停止事件传播。