在pygtk中检测全屏

问题描述 投票:0回答:1

我希望能够检测用户是否将我的应用程序设置为全屏。我知道我可以使用

gtk.window.fullscreen()
方法从代码中使窗口全屏显示,并且该操作还会发出窗口状态事件信号,但是当我编写回调时,我无法区分事件何时发生由全屏请求或不同事件激活,例如最小化窗口到开始栏。如何检测窗口是否已改为全屏?

python gtk pygtk
1个回答
2
投票

您只需查看活动详情即可。

  • 要查看哪些用户操作触发了事件,请选中
    changed_mask
  • 要查看新状态(无论事件的原因是什么),请选中
    new_window_state

通常这会翻译成以下代码:

# Did the user actually toggle fullscreen, or was it
# a different window-state event (e.g. maximize)?
if event.changed_mask & gtk.gdk.WINDOW_STATE_FULLSCREEN:
    # What's the new state?
    print bool(event.new_window_state & gtk.gdk.WINDOW_STATE_FULLSCREEN)
© www.soinside.com 2019 - 2024. All rights reserved.