python - wxpython layout with sizers -


i'm having difficulty getting sizers work in wxpython. trying simple 1 horizontal bar @ top (with text in it) , 2 vertical boxes below (with gridsizers * left 1 should 2 columns!! * inside each). want in image stretch , fit panel (with ability add padding sides , top/bottom). enter image description here

i have 2 main issues: 1. cant text in horizontal bar in middle (it goes left) 2. space 2 vertical boxes span , fit page appropriately (also grids span better too).

here code (with parts omitted):

            self.leagueinfou = wx.panel(self.leagueinfo,-1, style=wx.border_none)             self.leagueinfol = wx.panel(self.leagueinfo,-1, style=wx.border_none)             self.leagueinfor = wx.panel(self.leagueinfo,-1, style=wx.border_none)              vbox  = wx.boxsizer(wx.vertical)              hbox1 = wx.boxsizer(wx.horizontal)             hbox2 = wx.boxsizer(wx.horizontal)              vbox2a = wx.gridsizer(12,2,0,0)             vbox3a = wx.gridsizer(10,3,0,0)             hbox1a = wx.boxsizer(wx.vertical)              vbox2 = wx.boxsizer(wx.vertical)             vbox3 = wx.boxsizer(wx.vertical)               hbox1.add(self.leagueinfou, 1, wx.expand | wx.all, 3)             vbox2.add(self.leagueinfol, 1, wx.expand | wx.all, 3)             vbox3.add(self.leagueinfor, 1, wx.expand | wx.all, 3)              vbox2a.addmany([this correct])             self.leagueinfol.setsizer(vbox2a)              vbox3a.addmany([this correct])               self.leagueinfor.setsizer(vbox3a)              font = wx.font(20, wx.default, wx.normal, wx.bold)             self.big_header = wx.statictext(self.leagueinfou, -1, 'testing this')             self.big_header.setfont(font)              hbox1a.add(self.big_header, 0, wx.align_center|wx.align_center_vertical)                     self.leagueinfou.setsizer(hbox1a)              hbox2.add(vbox2, 0, wx.expand)             hbox2.add(vbox3, 0, wx.expand)              vbox.add(hbox1, 0, wx.expand)             vbox.add(hbox2, 1, wx.expand)             self.leagueinfo.setsizer(vbox) 

is you're after?

enter image description here

import wx  class frame(wx.frame):     def __init__(self, parent):         wx.frame.__init__(self, parent)          self.panel = wx.panel(self)          main_sizer = wx.boxsizer(wx.vertical)          # title         self.centred_text = wx.statictext(self.panel, label="title")         main_sizer.add(self.centred_text, 0, wx.align_centre | wx.all, 3)          # grids         content_sizer = wx.boxsizer(wx.horizontal)         grid_1 = wx.gridsizer(12, 2, 0, 0)         grid_1.addmany(wx.statictext(self.panel, label=str(i)) in xrange(24))         content_sizer.add(grid_1, 1, wx.expand | wx.all, 3)         grid_2 = wx.gridsizer(10, 3, 0, 0)         grid_2.addmany(wx.statictext(self.panel, label=str(i)) in xrange(30))         content_sizer.add(grid_2, 1, wx.expand | wx.all, 3)          main_sizer.add(content_sizer, 1, wx.expand)          self.panel.setsizer(main_sizer)          self.show()   if __name__ == "__main__":      app = wx.app(false)     frame(none)     app.mainloop() 

Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

How to get multiresult with multicondition in Sql Server -