如何制作动态数量的水平 BoxSizer?
我有一个函数可以计算屏幕上可以显示的图像数量,如果图像多于可以在屏幕上显示的图像数量,我会调整图像大小,直到它们全部出现。
然后,我想用一个垂直盒子大小调整器和几个水平盒子大小调整器来显示它们!
盒子大小调整器的水平数量是动态的,可以只有一个或多个,具体取决于图像的数量。
如何定义多个 box sizer 并将它们添加到垂直 box sizer 中?
I have a function that calculates the number of images that can be displayed on the screen, if there are more images than the ones that can be put on screen, I resize the images till they all can appear.
Then, I want to display them with one vertical box sizer and several horizontal box sizers!
The horizontal number of box sizers are dynamic, it can be only one or more depending on the number of images.
How can I define several box sizers and add them to the vertical box sizer?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为什么不简单地将水平调整器放在一个循环中,将它们
.Add
添加到同一个垂直调整器中?例如,您可以从任何地方调用这个简单的函数,它返回垂直 sizer 和其中的 n 个水平 sizer 列表 - 然后调用者将适当的内容添加到水平滑块,一个适当的 SetSizer 以垂直尺寸调整器作为参数,以及垂直尺寸调整器的
.Fit
。当然,您可以根据需要将其变得更加精美,使用各种参数来精确控制Add
的执行方式。Why not simply make the horizontal sizers in a loop,
.Add
ing them to the same vertical sizer? E.g.You can call this simple function from anywhere, it returns the vertical sizer and the list of
n
horizontal sizers in it -- then the caller adds stuff suitably to the horizontal sliders, an appropriateSetSizer
with the vertical sizer as the argument, and the vertical sizer's.Fit
. Of course you can make it as much fancier as you want, with all sort of arguments to control exactly how theAdd
s are performed.wx.GridSizer 就是答案!
wx.GridSizer is the answer!