【问题标题】:Detect fullscreen in pygtk在pygtk中检测全屏
【发布时间】:2011-01-28 02:44:24
【问题描述】:

我希望能够检测我的应用是否已被用户设置为全屏。我知道我可以使用gtk.window.fullscreen() 方法从代码中使窗口变为全屏,并且该操作还会发出一个窗口状态事件信号,但是当我编写回调时,我无法区分事件何时发生由全屏请求或其他事件激活,例如将窗口最小化到开始栏。如何检测窗口是否已更改为全屏?

【问题讨论】:

    标签: python gtk pygtk


    【解决方案1】:

    您只需检查event details

    • 要查看触发事件的用户操作,请查看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)
    

    【讨论】:

    • 我试过了,它没有用,所以我弄乱了一点,发现我需要使用 WINDOW_STATE_MAXIMIZE 而不是全屏才能让它工作。
    猜你喜欢
    • 2010-10-12
    • 1970-01-01
    • 2018-03-27
    • 2013-05-21
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多