【问题标题】:How to hide Gtk widget on clicking outside it?如何在 Gtk 小部件外部单击时隐藏它?
【发布时间】:2013-08-19 13:41:36
【问题描述】:

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

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

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

【问题讨论】:

  • 请显示一些代码

标签: python gtk pygtk gtk3


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2013-08-23
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 2012-07-17
    • 2011-09-20
    • 1970-01-01
    • 2013-11-22
    相关资源
    最近更新 更多