2011-05-15 9 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

관련 문제