Wxpython-wx-gridsizer

提供:Dev Guides
移動先:案内検索

wxPython-GridSizer

名前が示すように、 GridSizer オブジェクトは2次元のグリッドを表します。 コントロールは、左から右、上から下の順にグリッドスロットに追加されます。 GridSizerオブジェクトは4つのパラメータを取ります-

wx.GridSizer(rows, columns, vgap, hgap)

vgapおよびhgapパラメーターは、隣接するコントロール間の垂直および水平間隔を制御します。

次の表は、wxGridSizerクラスのいくつかの重要なメソッドを示しています-

S.N. Methods & Description
1

Add()

次に利用可能なグリッドスロットにコントロールを追加します

2

AddMany()

コントロールのリストに各アイテムを追加します

3

SetRows()

サイザーの行数を設定します

4

GetRows()

サイザー内の行数を取得します

5

SetCols()

サイザーの列数を設定します

6

GetCols()

サイズの列数を取得します

7

SetVGap()

セル間の垂直ギャップ(ピクセル単位)を設定します

8

GetVGap()

セル間のvgapの値を返します

9

SetHGap()

セル間の水平方向の間隔(ピクセル単位)を設定します

10

GetHGap()

セル間のhgapの値を返します

次のコードは、縦横の間隔が5ピクセルの4 x 4グリッドの単純なグリッドサイザーを示しています。

Gs = wx.GridSizer(4, 4, 5, 5)

「for」ループを使用して、16個のボタンオブジェクトが連続して追加されます。

for i in range(1,17):
   btn = "Btn"+str(i)
   gs.Add(wx.Button(p,label = btn),0,wx.EXPAND)

完全なコードは次のとおりです-

import wx

class Example(wx.Frame):

   def __init__(self, parent, title):
      super(Example, self).__init__(parent, title = title,size = (300,200))

      self.InitUI()
      self.Centre()
      self.Show()

   def InitUI(self):

      p = wx.Panel(self)

      gs = wx.GridSizer(4, 4, 5, 5)

      for i in range(1,17):
         btn = "Btn"+str(i)
         gs.Add(wx.Button(p,label = btn),0,wx.EXPAND)

         p.SetSizer(gs)

app = wx.App()
Example(None, title = 'Grid demo')
app.MainLoop()

上記のコードは、次の出力を生成します-

グリッド出力