1 在 wxpython 中的 sizer.add 中表示什么

问题描述

任何人都可以帮助我了解 -1 在以下代码行中究竟表示什么。如果我将 ant 放入任何其他数字而不是 1 呢?

sizer.Add(Splitter,1,wx.EXPAND)

解决方法

那是 proportion 参数。
该比例定义了 sizer 的孩子之间的关系有多大。

Add(window,proportion=0,flag=0,border=0,userData=None)

proportion (int) – 此参数用于 Sizer 中,以指示 sizer 的子项是否可以在 Sizer 的主要方向上更改其大小 - 其中 0 代表不可更改,并且解释大于零的值相对于相同 Sizer 的其他孩子的价值。例如,你可能有一个水平 wx.BoxSizer 和三个孩子,其中两个应该用 sizer 改变它们的大小。然后这两个可拉伸的窗口将分别获得 1 的值,以使它们与 sizer 的水平尺寸相等地增长和收缩。

因此,我们还可以通过将一个项目的比例设为 2 来将其定义为两倍的可拉伸性。

你的例子严格应该写成:

sizer.Add(Splitter,proportion=1,flag=wx.EXPAND,border=0)

然而,程序员习惯性偷懒,走捷径。