【发布时间】:2015-09-03 20:16:21
【问题描述】:
我正在使用 wxPython 创建一个包含多个页面的向导对话框。我在布置控件时遇到了麻烦,因为每个页面的大小至少与最大的向导页面一样大。例如。如果我的向导有三页,并且第三页的控件/小部件比其他两页多,则第二页和第三页有很多额外的空间,因为向导根据第 3 页计算其大小(因为它是最大的。) 第一页还有两个看起来很邋遢。
我在向导类的文档中读到了这一点,这让我相信不可能为每个向导页面设置自定义页面大小:
向导使用 sizer 布局,页面区域 sizer 是 页面的占位符。所有页面在显示之前都已调整大小 以匹配向导页面区域。
Page area sizer 的最小尺寸是几个中的最大值 价值观。首先,将所有页面(或其他对象)添加到 sizer。 其次,通过重复应用 WizardPage.GetNext 可访问的所有页面 到任何插入到 sizer 中的页面。
第三,使用 SetPageSize 和 FitToPage 指定的最小尺寸。 四、总精灵高度可能会增加以适应 位图高度。第五也是最后一点,巫师永远不会比某些人小 内置最小尺寸以避免太小的向导。
调用者可以使用 Sizer.SetMinSize 将其放大到超出最小值 尺寸。如果 RESIZE_BORDER 被传递给构造函数,用户可以调整大小 向导,因此页面区域(但不要使其小于 最小尺寸)。
建议将第一页添加到page area sizer。为了 简单的向导,这将放大向导以适应最大的页面。
对于非线性向导,每个独立链的第一页应该 被添加。调用者指定的大小可以使用 Sizer.SetMinSize 。将页面添加到页面区域大小调整器会影响 可以更改的页面区域周围的默认边框宽度 设置边框。
是否有任何解决方案或变通方法可以让我的向导页面仅根据当前页面上的内容调整大小?
【问题讨论】:
标签: python user-interface wxpython