def doLayout(self): gridsizer = wx.GridSizer(2, 3, vgap = 10, hgap = 20) boxsizer = wx.BoxSizer (wx.VERTICAL) buttons_list = [wx.Button (self, id = wx.NewId(), label = "Button " + str(n) ) for n in range (6)] for button in buttons_list: gridsizer.Add (button) boxsizer.Add (gridsizer) self.SetSizer(boxsizer) self.Layout()