如何在外面点击Gtk小部件?

时间:2013-08-17 23:31:08

标签: python gtk pygtk gtk3

我有一个自定义GTK小部件(基本上是开罗表面上HBox的叠加)。当我在窗口中的窗口小部件外部单击时,我希望隐藏它。与菜单的行为类似。

我尝试使用grab_focus并等待焦点输出事件但是小部件没有抓住焦点,我认为它不是一个可集中的小部件。[1]

[1] https://developer.gnome.org/pygtk/2.24/class-gtkwidget.html#method-gtkwidget--grab-focus

1 个答案:

答案 0 :(得分:1)

如果要使用focus_out事件,可能必须设置CAN_FOCUS标志。

但是,如果您想要单击外部以隐藏窗口小部件(如菜单所需),则必须连接到窗口小部件下方区域的事件。您可以连接到窗口的button_press事件,注意不要停止事件传播。