2016-09-10 83 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

あなたはapp.MainLoop(へお電話の前にこれを追加することができますthis質問)に見るように:

import wx.lib.inspection 
wx.lib.inspection.InspectionTool().Show() 
関連する問題