2

私はこのようなものを設定しようとしています:ここに画像の説明を入力してください

しかし、私はそれを理解するのにたくさんの問題を抱えています。この汎用関数を作成して、オブジェクトのリストをでラップし、wx.gridsizerそれをに追加して、wx.StaticBoxSizerすべての境界線を取得しました。次に、staticBoxサイザーをメインに戻し、メインの垂直ボックスサイザーに追加します。

def buildHorizontalSizer(self, objects, label=None):
    if label:
        box = wx.StaticBox(self.panel, -1, label)
        # for i in dir(box):
        #   print i
        sizer = wx.StaticBoxSizer(box, wx.HORIZONTAL)
    else:
        sizer = wx.BoxSizer(wx.HORIZONTAL)

    grid = wx.GridBagSizer(hgap=3, vgap=0)
    for i in range(len(objects)):
        if i==0:
            grid.Add(objects[i], flag=wx.ALIGN_RIGHT)
        else:
            grid.Add(objects[i], flag=wx.ALIGN_LEFT)
    sizer.Add(grid)
    return sizer

各フィールドには、左から右に、StaticText、TextCtrl、そしてButtonがあります。

セルの幅が異なるようにセルを構成するにはどうすればよいですか?

4

1 に答える 1

1

使用する

objects[i].SetMinSize((width,height))

あなたが望むことをすべきです...あなたも電話する必要があるかもしれません

objects[i].SetSize((width,height))

サイザーに追加する前に

于 2013-01-06T01:18:11.630 に答える