是否可以使wxPython窗口仅按一定比例重新调整大小?我知道你可以禁用调整大小;但是,我喜欢它,所以当窗口调整大小时,它会保持一定的宽高比。
答案 0 :(得分:6)
一种显而易见的方法是将wx.EVT_SIZE
绑定到一个约束纵横比的函数。我不确定这是做正确的方法,但它有效:
import wx
class SizeEvent(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title)
self.Bind(wx.EVT_SIZE, self.OnSize)
self.Centre()
self.SetSizeWH(400, 300)
self.Show(True)
def OnSize(self, event):
hsize = event.GetSize()[0] * 0.75
self.SetSizeHints(minW=-1, minH=hsize, maxH=hsize)
self.SetTitle(str(event.GetSize()))
app = wx.App()
SizeEvent(None, 1, 'sizeevent.py')
app.MainLoop()
(样板来自here。)
答案 1 :(得分:-1)
我对wxPython不太熟悉,但是你不能只在用户通过后将窗口大小重置为你想要的最大/最小尺寸吗?优选地,如果检测到调整大小?