[英]How can I unmaximize programmatically a maximized frame in wxPython?
假设我有一个简单的应用程序,例如:
import wx
app = wx.App()
frame = wx.Frame(None, -1, 'This is the frame title')
frame.Show()
frame.Maximize()
app.MainLoop()
有没有可以在框架上调用以使其最大化的方法? 我尝试过frame.Unmaximize()
和frame.Maximize(False)
但是前者是undefined
,而后者似乎在Ubuntu中默默地“失败”。
这里说Maximize(False)
是要走的路。 我应该提交一个错误,还是我想念的其他东西?
刚刚在OSX,Win7和Ubuntu下尝试了该程序:
import wx
app = wx.App()
frame = wx.Frame(None, -1, 'This is the frame title')
frame.Show()
frame.Maximize()
frame.Maximize(False)
app.MainLoop()
在OSX和Win7上,框架明显最大化,然后最小化。
在Ubuntu(wxpython 2.8.11 gtk-unicode)上,“最大化”命令似乎被完全忽略。 我可以删除Maximize(False)行,但框架仍未最大化。
这是Ubuntu 11.10上的xfwm4
对我来说似乎是个虫子。 但这也可能是窗口管理器的怪癖。
有趣的是,谷歌发现了一个Bug报告,其中Frame.Maximize()仅在Windows上有效。 但这是11岁。 也许尚未添加Linux :)
您也可以尝试Restore()
。 在MSW和OS X下,它与Maximize(false)
完全相同,而在wxGTK中,它的实现略有不同,因此即使在Ubuntu下也可以使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.