WxPython将列表添加到Grid Sizer

时间:2015-02-15 13:44:54

标签: wxpython sizer

我有一个图像列表(wxImg),我想添加到网格大小调整器。一世 无法弄清楚如何添加它们。这是我的一段代码。

import wx

class MyPanel(wx.Panel):
    def __init__(self, *args, **kwargs):
        wx.Panel.__init__(self, *args, **kwargs)
        msz = wx.BoxSizer(wx.VERTICAL)
        gs = wx.GridSizer(5, 5, 0, 0)
        self.ic = []
        for i in range(len(wxImg)):
            self.ic.append(wx.StaticBitmap(self, wx.ID_ANY,
                           wx.BitmapFromImage(wxImg[i]),
                           name="Pic" + str(i + 1))
            gs.Add(self.ic[i], 0, wx.ALIGN_LEFT)
            self.ic[i].Bind(wx.EVT_LEFT_DOWN, self.OnClick)
            msz.Add(gs, 0, wx.ALL, 5)
            self.SetSizer(msz)

等等。它总是给我错误。 请帮忙。

感谢。

1 个答案:

答案 0 :(得分:0)

您忘了提供它给您的错误类型。它可以是任何东西,它甚至可能与您正在做的事情无关,因此请提供错误信息。还有什么" wxImg"保持? wx.Images?图像的路径?

这是我做过的类似的事情。我修改了一下。 Orignial是here

image_grid = wx.FlexGridSizer(rows=3, cols=2, vgap=10, hgap=10)
image_list = ['add.jpg', 'subtract.jpg', 'divide.jpg',
                  'multiply.jpg', 'mix.jpg', 'custom.jpg']

    for image in image_list:
        bmp = wx.Image(img_dir.format(image),
                       wx.BITMAP_TYPE_ANY).ConvertToBitmap()
        bitmap = wx.StaticBitmap(self, -1, bmp)

        image_grid.Add(bitmap)