2011-05-15 132 views
5

是否可以將wxPython窗口重新設置爲一定的比例?我知道你可以禁用調整大小;然而,我喜歡它,所以當窗口被調整大小時,它會堅持一定的寬高比。調整wxPython窗口的大小

回答

6

這樣做的一個顯而易見的方法是將wx.EVT_SIZE綁定到限制寬高比的函數。我不能確定這是正確的方式做到這一點,但它的工作原理:(樣板從here借來的)

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() 

-1

我對wxPython不太熟悉,但是不能將窗口大小重置爲您希望的最大/最小大小,一旦用戶通過該大小?最好在檢測到調整大小的情況下?

+0

我試過,但直接調整造成明顯的方式窗口爆炸性遞歸。設置大小提示雖然工作。 – senderle 2011-05-15 02:16:08