我有一个计算可以在屏幕上显示的图像数量的功能,如果图像的数量多于可以放在屏幕上的图像,我会调整图像大小,直到它们全部出现。
然后,我想用一个垂直框大小调整器和几个水平框大小调整器显示它们!
盒子大小调整器的水平数量是动态的,根据图像的数量,它只能是一个或多个。
如何定义多个框大小调整器并将它们添加到垂直框大小调整器?
答案 0 :(得分:3)
为什么不简单地将水平大小调整器放在一个循环中,.Add
将它们放到同一个垂直大小调整器中? E.g。
def HorzInVert(n):
vert = wx.BoxSizer(wx.VERTICAL)
horizontals = []
for i in range(n):
horz = wx.BoxSizer(wx.HORIZONTAL)
vert.Add(horz,1, wx.ALL, 0)
horizontals.append(horz)
return vert, horizontals
你可以从任何地方调用这个简单的函数,它返回垂直大小调整器和n
水平大小调整器的列表 - 然后调用者将东西适当地添加到水平滑块,一个合适的SetSizer
使用垂直sizer作为参数,以及垂直sizer的.Fit
。当然,你可以根据自己的需要设置更多的风扇,并使用各种参数来精确控制Add
的执行方式。
答案 1 :(得分:0)
wx.GridSizer就是答案!