Wx.GridBagSizer(vgap,hgap)
GridBagsizer類的最重要的方法是Add(),它接受位置作為強(qiáng)制性參數(shù)。 跨度,對(duì)齊方式,邊界標(biāo)志和邊框尺寸參數(shù)是可選的。如果沒有明確使用則使用默認(rèn)值。
Wx.GridbagSizer().Add(control, pos, span, flags, border)
| S.N. |
方法和說明
|
|---|---|
| 1 |
Add()
在網(wǎng)格中的指定位置增加給定控件
|
| 2 |
GetItemPosition()
返回在網(wǎng)格的控件的位置
|
| 3 |
SetItemPosition()
在網(wǎng)格中的指定位置放置一個(gè)控件
|
| 4 |
GetItemSpan()
返回一個(gè)項(xiàng)目的行/列跨越
|
| 5 |
SetItemSpan()
跨越指定的項(xiàng)目超過行/列數(shù)
|
以下代碼顯示,其中有與文本框(TexCtrl)相關(guān)聯(lián)的標(biāo)簽(靜態(tài)文本)的表單。用指定跨度的參數(shù)添加TextCtrl對(duì)象。 因此,文本框的寬度跨越多個(gè)列。對(duì)于名稱文本框中跨越了兩列。
tc = wx.TextCtrl(panel) sizer.Add(tc, pos = (0, 1), span = (1, 2), flag = wx.EXPAND|wx.ALL, border = 5)
tc1 = wx.TextCtrl(panel,style = wx.TE_MULTILINE) sizer.Add(tc1, pos = (1,1), span = (1, 3), flag = wx.EXPAND|wx.ALL, border = 5)
tc4 = wx.TextCtrl(panel,style = wx.TE_MULTILINE) sizer.Add(tc4, pos = (3,1), span = (1,3), flag = wx.EXPAND|wx.ALL, border = 5) sizer.AddGrowableRow(3)
import wx
class Example(wx.Frame):
def __init__(self, parent, title):
super(Example, self).__init__(parent, title = title)
self.InitUI()
self.Centre()
self.Show()
def InitUI(self):
panel = wx.Panel(self)
sizer = wx.GridBagSizer(0,0)
text = wx.StaticText(panel, label = "Name:")
sizer.Add(text, pos = (0, 0), flag = wx.ALL, border = 5)
tc = wx.TextCtrl(panel)
sizer.Add(tc, pos = (0, 1), span = (1, 2), flag = wx.EXPAND|wx.ALL, border = 5)
text1 = wx.StaticText(panel, label = "address")
sizer.Add(text1, pos = (1, 0), flag = wx.ALL, border = 5)
tc1 = wx.TextCtrl(panel,style = wx.TE_MULTILINE)
sizer.Add(tc1, pos = (1,1), span = (1, 3), flag = wx.EXPAND|wx.ALL, border = 5)
text2 = wx.StaticText(panel,label = "age")
sizer.Add(text2, pos = (2, 0), flag = wx.ALL, border = 5)
tc2 = wx.TextCtrl(panel)
sizer.Add(tc2, pos = (2,1), flag = wx.ALL, border = 5)
text3 = wx.StaticText(panel,label = "Mob.No")
sizer.Add(text3, pos = (2, 2), flag = wx.ALIGN_CENTER|wx.ALL, border = 5)
tc3 = wx.TextCtrl(panel)
sizer.Add(tc3, pos = (2,3),flag = wx.EXPAND|wx.ALL, border = 5)
text4 = wx.StaticText(panel, label = "Description")
sizer.Add(text4, pos = (3, 0), flag = wx.ALL, border = 5)
tc4 = wx.TextCtrl(panel,style = wx.TE_MULTILINE)
sizer.Add(tc4, pos = (3,1), span = (1,3), flag = wx.EXPAND|wx.ALL, border = 5)
sizer.AddGrowableRow(3)
buttonOk = wx.Button(panel, label = "Ok")
buttonClose = wx.Button(panel, label = "Close" )
sizer.Add(buttonOk, pos = (4, 2),flag = wx.ALL, border = 5)
sizer.Add(buttonClose, pos = (4, 3), flag = wx.ALL, border = 5)
panel.SetSizerAndFit(sizer)
app = wx.App()
Example(None, title = 'GridBag Demo - www.yiibai.com')
app.MainLoop()
