#!/usr/bin/python
#-*- coding:utf8 -*-
#看看布局管理
import wx
class GridFrame(wx.Frame):
def __init__(self, root):
wx.Frame.__init__(self, root, -1, u"布局管理-01",size=(300,200))
panel = wx.Panel(self, -1)
sizer = wx.GridSizer(rows=3, cols=3, hgap=5, vgap=5)
number = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
for num in number:
numBtn = wx.Button(panel, -1, num)
sizer.Add(numBtn,0,0)
panel.SetSizer(sizer)
panel.Fit()
class BoxFrame(wx.Frame):
def __init__(self, root):
wx.Frame.__init__(self, root, -1, u"布局管理-02", size=(300,400))
panel = wx.Panel(self, -1)
sizer = wx.BoxSizer(wx.HORIZONTAL) #表示水平布局
number = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
for num in number:
numBtn = wx.Button(panel, -1, num)
sizer.Add(numBtn, 0, 0)
panel.SetSizer(sizer)
panel.Fit()
class BagFrame(wx.Frame):
def __init__(self, root):
wx.Frame.__init__(self, root, -1, u"布局管理-03", size=(300,400))
panel = wx.Panel(self, -1)
number = ['1', '2', '3']
col = 0
sizer = wx.GridBagSizer(hgap=5, vgap=5)
for num in number:
numBtn = wx.Button(panel, -1, num)
sizer.Add(numBtn, pos=(0, col))
col += 1
numBtn = wx.Button(panel, -1, u'4')
sizer.Add(numBtn, pos=(1,0),span=(1,3), flag=wx.EXPAND)
numBtn = wx.Button(panel, -1, u'5')
sizer.Add(numBtn, pos=(0,col+1),span=(2,1), flag=wx.EXPAND)
numBtn = wx.Button(panel, -1, u'6')
sizer.Add(numBtn, pos=(2, 0), span=(1, 2), flag=wx.EXPAND)
numBtn = wx.Button(panel, -1, u'7')
sizer.Add(numBtn, pos=(2, 2), span=(1, 1), flag=wx.EXPAND)
panel.SetSizer(sizer)
panel.Fit()
class FlexGridFrame(wx.Frame):
def __init__(self, root):
wx.Frame.__init__(self, root, -1, u"布局管理-04", size=(400, 300))
panel = wx.Panel(self, -1)
number = ['1', '2', '3', '4', '5', '6']
sizer = wx.FlexGridSizer(rows=3, cols=3, hgap=5, vgap=5)
for num in number:
numBtn = wx.Button(panel, -1, num)
sizer.Add(numBtn, 0, 0)
numBtn = wx.Button(panel, -1, u'7')
numBtn.SetMinSize((100, 48))
sizer.Add(numBtn, 0, 0)
numBtn = wx.Button(panel, -1, u'8')
numBtn.SetMinSize((50, 45)) #调整大小
sizer.Add(numBtn, 0, 0)
panel.SetSizer(sizer)
panel.Fit()
class MyApp(wx.App):
def OnInit(self):
#self.frame = GridFrame(None)
#self.frame = BoxFrame(None)
#self.frame = BagFrame(None)
self.frame = FlexGridFrame(None)
self.frame.Show()
return True
app = MyApp()
#-*- coding:utf8 -*-
#看看布局管理
import wx
class GridFrame(wx.Frame):
def __init__(self, root):
wx.Frame.__init__(self, root, -1, u"布局管理-01",size=(300,200))
panel = wx.Panel(self, -1)
sizer = wx.GridSizer(rows=3, cols=3, hgap=5, vgap=5)
number = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
for num in number:
numBtn = wx.Button(panel, -1, num)
sizer.Add(numBtn,0,0)
panel.SetSizer(sizer)
panel.Fit()
class BoxFrame(wx.Frame):
def __init__(self, root):
wx.Frame.__init__(self, root, -1, u"布局管理-02", size=(300,400))
panel = wx.Panel(self, -1)
sizer = wx.BoxSizer(wx.HORIZONTAL) #表示水平布局
number = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
for num in number:
numBtn = wx.Button(panel, -1, num)
sizer.Add(numBtn, 0, 0)
panel.SetSizer(sizer)
panel.Fit()
class BagFrame(wx.Frame):
def __init__(self, root):
wx.Frame.__init__(self, root, -1, u"布局管理-03", size=(300,400))
panel = wx.Panel(self, -1)
number = ['1', '2', '3']
col = 0
sizer = wx.GridBagSizer(hgap=5, vgap=5)
for num in number:
numBtn = wx.Button(panel, -1, num)
sizer.Add(numBtn, pos=(0, col))
col += 1
numBtn = wx.Button(panel, -1, u'4')
sizer.Add(numBtn, pos=(1,0),span=(1,3), flag=wx.EXPAND)
numBtn = wx.Button(panel, -1, u'5')
sizer.Add(numBtn, pos=(0,col+1),span=(2,1), flag=wx.EXPAND)
numBtn = wx.Button(panel, -1, u'6')
sizer.Add(numBtn, pos=(2, 0), span=(1, 2), flag=wx.EXPAND)
numBtn = wx.Button(panel, -1, u'7')
sizer.Add(numBtn, pos=(2, 2), span=(1, 1), flag=wx.EXPAND)
panel.SetSizer(sizer)
panel.Fit()
class FlexGridFrame(wx.Frame):
def __init__(self, root):
wx.Frame.__init__(self, root, -1, u"布局管理-04", size=(400, 300))
panel = wx.Panel(self, -1)
number = ['1', '2', '3', '4', '5', '6']
sizer = wx.FlexGridSizer(rows=3, cols=3, hgap=5, vgap=5)
for num in number:
numBtn = wx.Button(panel, -1, num)
sizer.Add(numBtn, 0, 0)
numBtn = wx.Button(panel, -1, u'7')
numBtn.SetMinSize((100, 48))
sizer.Add(numBtn, 0, 0)
numBtn = wx.Button(panel, -1, u'8')
numBtn.SetMinSize((50, 45)) #调整大小
sizer.Add(numBtn, 0, 0)
panel.SetSizer(sizer)
panel.Fit()
class MyApp(wx.App):
def OnInit(self):
#self.frame = GridFrame(None)
#self.frame = BoxFrame(None)
#self.frame = BagFrame(None)
self.frame = FlexGridFrame(None)
self.frame.Show()
return True
app = MyApp()
app.MainLoop()
QQ交流群: 204944806