GTK# - 调整大小时组件重叠的问题

时间:2011-04-12 18:46:15

标签: gtk#

我有一个面板,其中包含一个表单(表格中的标签和文本框等元素)和右下角的3个按钮(在hbuttonbox中)。如果我通过向上拖动底部边框来缩短面板,则3个按钮随附它,并且位于其他表单组件的顶部,从而导致图形混乱。我希望面板的调整大小不小于其中最后一个组件的底边。由于雇主的限制,我无法显示GUI的屏幕截图。我会尝试做出任何要求的澄清。

这可能与组件上的一些调整大小或一般大小设置有关,但是有很多选项我不知道从哪里开始。

任何想法都可以轻松解决这个问题,而无需深入到复杂的组件嵌套中?如果没有,任何关于我应该开始搞乱设置的想法?

谢谢!

更新 一切都包含在一个带有3个细胞的VBox中。单元格中的元素(从上到下):Table,ScrolledWindow,HButtonBox。在调整大小时,ScrolledWindow底边也会随着面板的下边缘移动(调整大小),直到面板底部超过整个ScrolledWindow。然后按钮继续向上移动,保持相对于面板的下边缘。

2 个答案:

答案 0 :(得分:0)

“表单”是否意味着您使用Gtk.Fixed来包含表格和按钮框?那可能是出了什么问题 - 你应该使用vbox和hbox为你的布局。这些将适当调整大小。固定布局仅适用于特殊情况。

修改

其他建议:

  • 也许HButtonBox包装类型'结束'而不是'开始'?
  • 您可以尝试使用VBox孩子们的'填充'和'展开'包装属性。

答案 1 :(得分:0)

我最终向容器添加了一个高度请求,比滚动窗口的部分略长。现在停止调整大小到底部按钮与其上方组件重叠的位置。问题(修复前)如下所示:

Regular Sized Panel

Resized with overlap