我正在尝试动态地向GridBagSizer添加和删除行。 sizer的每一行都有一组小部件,最右边是一个“删除”按钮,用于删除按下时所在的行。当按下时,sizer外部的另一个按钮会向sizer添加一个新的底部小部件。
我有一个简单的示例应用程序可行,但它相当巴洛克式,我希望有一个更简单的方法。
工作示例分离并销毁正在删除的行中的所有小部件,但这并不会删除小部件曾经的空白行,即使在sizer.Layout()之后也是如此。我所做的就是将所有小部件分离到已删除行下方的行中并将它们向上移动一行。
它有效,但有更好的方法吗?
罗斯
答案 0 :(得分:1)
这真是一个提示。使用
sizer.SetEmptyCellSize((0,0))
并且您的空行不会占用任何空间。