假设我有一个简单的应用程序,如下所示:
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中默默地“失败”。
Here它说Maximize(False)
是要走的路。我应该提交一个错误,还是我想念其他的东西?
答案 0 :(得分:1)
在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命令显示为完全被忽略。我可以删除Maximize(False)行,但帧仍未最大化。
这是在Ubuntu 11.10上的xfwm4
对我来说看起来像个错误。但它也可能是一个窗口管理器的怪癖。
有趣的是,google发现了一个错误报告,其中Frame.Maximize()仅适用于Windows。但它已经11岁了。也许还没有添加Linux:)
答案 1 :(得分:1)
您也可以尝试Restore()
。虽然在MSW和OS X下它与Maximize(false)
完全相同,但在wxGTK中它的实现方式略有不同,所以它甚至可以在Ubuntu下工作。