wx.ComboBox隐藏在其他面板

时间:2017-10-11 18:17:06

标签: combobox wxpython height overlap

我已经和wxPython合作了很长一段时间了。我对大多数对象都有很好的处理能力,而且我已经能够在没有问题的情况下创建面板布局。

我在这里要做的是显示两个列表(组合框)。一个代表用户可以选择并添加到右侧列表中的可能选项的完整列表(在左侧)。功能很好,但是对象本身在视觉上会被wxNotebook对象的相同选项卡中包含的其他面板遮挡(请参阅附加图像上的红色矩形。)

Combo boxes become obscured by panel containing button

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

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

在不丢失其他面板后面的组合框的情况下,最简单的方法是什么?

1 个答案:

答案 0 :(得分:0)

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

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