Dan*_*ick 2 wxwidgets wxpython resize frame aspect-ratio
我有一个只有一个孩子的wx.Frame.在设置子项的wx.Sizer时,我可以使用wx.SHAPED标志,该标志可以保持子项的宽高比.但是,Frame的纵横比仍然具有完全的自由度,并且会在孩子未使用的区域留下空白区域.
如何在调整大小期间锁定wx.Frame的宽高比?
Sizer不能应用于顶级窗口(为了定义窗口本身的属性而不是它们的内容),所以不幸的是没有"真正的"方法来锁定宽高比.您最好的选择是捕捉窗口的OnSize事件,获取用户想要窗口的大小(存储在窗口中wxSizeEvent),根据宽高比计算新的宽度和高度,然后立即调用SetSize新的大小.
这种技术在调整大小时存在视觉伪像的缺点(操作系统最初将根据用户拖动窗口的方式绘制窗口,但在调用后立即重新绘制窗口SetSize,导致闪烁效果)因此它不是一个很好的解决方案但是,由于您无法将顶级窗口锁定为宽高比(并且SetSize根本不需要调整大小),因此您必须确定闪烁是否值得.