要以全屏模式显示wxPython窗口,请使用:
ShowFullScreen(True)
你怎么走出全屏?我尝试过这种显而易见的方式:
ShowFullScreen(True)
sleep(5)
ShowFullScreen(False)
但这不起作用。当我运行脚本时,没有任何内容出现。 5秒钟后,屏幕左上角出现大约200x250的窗口,内部没有任何内容。它似乎也没有任何边界。
如果我将其更改为
showFullScreen(True)
然后我陷入全屏窗口,我必须使用Alt + F2 - > xkill离开。
答案 0 :(得分:5)
看起来您首先需要Show()
窗口。 (根据documentation,您不应该这样做。也许这是一个错误。)我在Mac OS X和Windows上进行了测试 - 如果您不首先调用Show()
,它们都会出现问题。
另请注意,您不应该在主GUI线程中睡觉。你会挂起UI。使用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()
答案 1 :(得分:0)
ShowFullScreen的文档内容如下:
ShowFullScreen(show,style = 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,这样您仍然可以访问菜单以再次关闭全屏模式。