2017-10-11 121 views
0

我一直在使用wxPython很长一段时间了。我对大多数对象有很好的处理能力,并且我已经能够创建面板布局,而且大部分都没有问题。wx.ComboBox隐藏在其他面板后面

我在这里要做的是显示两个列表(组合框)。一个代表用户可以选择并添加到右侧列表中的可能选项的完整列表(左侧)。该功能可以运行得很好,但本身在视觉上成为由包含一个wxNotebook对象的相同标签中的其它面板遮蔽的对象(见所附图像上红色矩形。)

Combo boxes become obscured by panel containing button

顶部面板是一个复合三个面板。第一个包含一个组合框和一些间隔符。第二个(中)包含允许用户添加/删除项目的按钮。第三个,就像第一个,是一个组合框和一些间隔符。中间面板可以很好地缩放,但我无法调整组合框的高度。

我希望组合框是wx.CB_SIMPLE布局,以便显示所有选项。理想情况下,如果选项的数量超过面板高度,我会看到一个垂直滚动条。

在不丢失其他面板背后的组合框的情况下完成此操作的最简单方法是什么?

回答

0

我没有看到需要将3个面板嵌套在笔记本页面内。相反,我会创建一个嵌套sizer的面板。您可以创建一个水平BoxSizer来容纳所有小部件。然后在里面,你可以添加左边的组合框到sizer中。接下来创建一个垂直尺寸,您可以放入按钮(添加,删除,清除)。

将垂直尺寸大小添加到水平尺寸大小。现在创建你的合适的组合框,并将其添加到水平尺寸。现在你有相同的设置或接近它,你将不会有面板相互交叉。