2011-07-04 48 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,這樣您仍然可以訪問菜單以再次關閉全屏模式。