2016-09-10 17 views
0

wx.Frame 내에서 지정된 크기의 wx.Panel을 가져 오려고합니다.wx.Panel에 wx.Frame 내에서 특정 폭과 높이를 지정합니다. (wxPython - wxWidgets)

나는 wx.Panel 크기를 명확하게 지정하기 위해 다음 코드를 시도했습니다.

응용 프로그램을 실행할 때 wx.Panel의 너비가 100 픽셀보다 큰 것으로 나타납니다.

Actual wx.Panel width is about 125pixels instead of 100

누군가가 나 제대로 여기에 사용하지 않을 것을 식별하는 데 도움이 될 수 있을까요?

#!/bin/env python 
import wx 

# App Class 
class MyAppTest6(wx.App): 

    def OnInit(self): 

     frame = AppFrame(title = u'Hello World', pos=(50, 60), size=(150, 250)) 
     frame.Show() 
     #self.SetTopWindow(frame) 
     return True 

# Form Panel, 300 pixels Panel 
class Form(wx.Panel): 

    def __init__(self, parent): 
     wx.Panel.__init__(self, parent, size=(100, 100)) 

     self.SetBackgroundColour('RED') 
     self.SetInitialSize(
      (100,100) 
     ) 
     self.SetSize(
      (100,100) 
     ) 

# AppFrame 
class AppFrame(wx.Frame): 
    def __init__(self, title, pos, size): 
     wx.Frame.__init__(self, None, -1, title, pos, size) 

     # Define color 
     self.SetBackgroundColour('LIGHTGREY') 

     # Add elements 
     self.form = Form(self) 

     # Layout 
     sizer = wx.BoxSizer(wx.HORIZONTAL) 
     sizer.AddStretchSpacer() 
     sizer.Add(self.form, 0, wx.CENTER) 
     sizer.AddStretchSpacer() 
     self.SetSizer(sizer) 


if __name__ == '__main__': 
     app = MyAppTest6(False) 
     app.MainLoop() 

답변

0

당신이 this 질문에서 보는대로) app.MainLoop (에 전화하기 전에이 작업을 추가 할 수 있습니다

import wx.lib.inspection 
wx.lib.inspection.InspectionTool().Show()