python - 如何制作动态数量的水平 BoxSizer?

标签 python wxpython sizer

我有一个函数可以计算屏幕上可以显示的图像数量,如果图像多于可以在屏幕上显示的图像数量,我会调整图像的大小,直到它们全部出现。

然后,我想用一个垂直盒子大小调整器和几个水平盒子大小调整器来显示它们!

盒子大小调整器的水平数量是动态的,可以只有一个或多个,具体取决于图像的数量。

如何定义多个盒子大小调整器并将它们添加到垂直盒子大小调整器?

最佳答案

为什么不简单地将水平调整器放在一个循环中,.Add将它们添加到同一个垂直调整器中?例如

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 个水平大小调整器列表 - 然后调用者将适当的内容添加到水平 slider ,一个适当的 SetSizer以垂直大小调整器作为参数,以及垂直大小调整器的.Fit。当然,您可以根据需要将其变得更加精美,使用各种参数来精确控制 Add 的执行方式。

关于python - 如何制作动态数量的水平 BoxSizer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3171256/

相关文章:

Python:如何在单个 URL 的 2 个修订版之间创建差异/补丁文件?

python - 在 matplotlib 中绘制双变量高斯分布

python - "Never invent such names; only use them as documented."谁?

python - 防止打开第二个实例

python - 基本的 wx 大小问题

python - wxPython: "Super"wx.SpinCtrl with float values, layout inside sizer

python - wxpython Gridsizer 不适合面板

python - 文档中的这段代码发生了什么?

python - 为什么我的对话框类要互相写入?

用于 Vista UAC(用户访问控制)的 python IPC(进程间通信)