0

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

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

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

4

1 回答 1

1

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

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

于 2013-08-19T05:41:36.573 回答