首页 > 解决方案 > wxPython。窗口结构

问题描述

在 wxFormBuilder 中绘制一个窗口。 在此处输入图像描述 得到一个代码:

def __init__( self, parent ):
        wx.Panel.__init__ ( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.Size( 500,300 ), style = wx.TAB_TRAVERSAL )

        bSizer1 = wx.BoxSizer( wx.VERTICAL )

        self.m_panel1 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        self.m_panel1.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_ACTIVEBORDER ) )

        bSizer3 = wx.BoxSizer( wx.VERTICAL )

        bSizer4 = wx.BoxSizer( wx.HORIZONTAL )

        self.m_panel3 = wx.Panel( self.m_panel1, wx.ID_ANY, wx.DefaultPosition, wx.Size( 64,64 ), wx.TAB_TRAVERSAL )
        self.m_panel3.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INACTIVEBORDER ) )
        self.m_panel3.SetMinSize( wx.Size( 64,64 ) )
        self.m_panel3.SetMaxSize( wx.Size( 64,64 ) )

        bSizer4.Add( self.m_panel3, 1, wx.ALIGN_CENTER|wx.ALL|wx.EXPAND, 5 )


        bSizer3.Add( bSizer4, 1, wx.ALIGN_CENTER, 5 )


        self.m_panel1.SetSizer( bSizer3 )
        self.m_panel1.Layout()
        bSizer3.Fit( self.m_panel1 )
        bSizer1.Add( self.m_panel1, 1, wx.EXPAND |wx.ALL, 5 )

        self.m_panel2 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        self.m_panel2.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_ACTIVEBORDER ) )

        bSizer2 = wx.BoxSizer( wx.HORIZONTAL )

        m_comboBox1Choices = []
        self.m_comboBox1 = wx.ComboBox( self.m_panel2, wx.ID_ANY, u"Combo!", wx.DefaultPosition, wx.DefaultSize, m_comboBox1Choices, 0 )
        bSizer2.Add( self.m_comboBox1, 0, wx.ALL, 5 )

        self.m_staticText1 = wx.StaticText( self.m_panel2, wx.ID_ANY, u"MyLabel", wx.DefaultPosition, wx.DefaultSize, 0 )
        self.m_staticText1.Wrap( -1 )
        bSizer2.Add( self.m_staticText1, 0, wx.ALL, 5 )


        self.m_panel2.SetSizer( bSizer2 )
        self.m_panel2.Layout()
        bSizer2.Fit( self.m_panel2 )
        bSizer1.Add( self.m_panel2, 1, wx.EXPAND |wx.ALL, 5 )


        self.SetSizer( bSizer1 )
        self.Layout()

请告诉我如何获得如下图所示的结果(在 Paint 中创建)。 在此处输入图像描述 我想管理中央(白色)面板的大小。然后再把它放在中间。

标签: pythonpython-3.xwxpython

解决方案


推荐阅读