2011-07-04 38 views
3

要以全屏模式显示wxPython的窗口中,您使用:的wxPython:退出全屏

ShowFullScreen(True) 

你怎么了全屏幕的关系吗?我已经尝试了明显的方式:

ShowFullScreen(True) 
sleep(5) 
ShowFullScreen(False) 

虽然这不起作用。当我运行脚本时,什么都不显示。 5秒后,屏幕左上角会出现一个大约200x250的窗口,里面没有任何内容。它似乎也没有任何边界。

如果我改变了对

showFullScreen(True) 

然后我被卡住用,我必须使用Alt + F2全屏窗口 - > xkill走出。

回答

5

它看起来像你需要Show()第一个窗口。 (根据documentation,你不应该,也许这是一个错误。)我在Mac OS X和Windows上测试 - 如果你不先拨Show(),它们都会出现问题。

另请注意,您不应该睡在主GUI线程中。你会挂断用户界面。如我的示例所示,使用CallLater是一个潜在的解决方案。

工作例如:

import wx 

def main(): 
    app = wx.PySimpleApp() 
    frame = wx.Frame(None, -1, 'Full Screen Test') 
    frame.Show() 
    frame.ShowFullScreen(True) 
    wx.CallLater(5000, frame.ShowFullScreen, False) 
    app.MainLoop() 

if __name__ == '__main__': 
    main() 
0

为ShowFullScreen的文件上写着:
ShowFullScreen(秀,风格= wx.FULLSCREEN_ALL)

Depending on the value of show parameter the window is either shown full screen or restored to its normal state. 

Parameters: 

    show (bool) 
    style (long): is a bit list containing some or all of the following values, which indicate what elements of the window to hide in full-screen mode: 
     wx.FULLSCREEN_NOMENUBAR 
     wx.FULLSCREEN_NOTOOLBAR 
     wx.FULLSCREEN_NOSTATUSBAR 
     wx.FULLSCREEN_NOBORDER 
     wx.FULLSCREEN_NOCAPTION 
     wx.FULLSCREEN_ALL (all of the above) 

所以,把你全屏切换事件/秒的菜单并启动全屏模式:
self.window.ShowFullScreen(True, style=(wx.FULLSCREEN_NOTOOLBAR | wx.FULLSCREEN_NOSTATUSBAR |wx.FULLSCREEN_NOBORDER |wx.FULLSCREEN_NOCAPTION))

请注意,我省略了wx.FULLSCREEN_NOMENUBAR,这样您仍然可以访问菜单以再次关闭全屏模式。