繁体   English   中英

如何在wxPython中以编程方式最大化未最大化的帧?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM