GTK3:使容器与底部对齐,填充水平 space 但不是垂直

GTK3: Making a container aligned to bottom, filling horizontal space but not vertical

所有。

我正在使用 GTK3 用 C 编写一个应用程序,并使用 Glade 构建 UI。 我想要做的是制作一个容器,它将留在框架的底部,填充水平 space 但不是垂直的。我会在那里放置几个按钮,不希望它们在框架中松动。现在我只有足够的代码来显示 window 以查看它在运行时的外观,只关注 UI.

到目前为止我尝试过的:

对于那些已经使用 Borland C++ Builder 或 Delphi 的人,这是我要重复的 "Panel" 的功能。也就是说,您将容器放在框架中,将其与底部对齐(使其填充水平 space),然后在设计时调整高度。

有什么想法吗?如果您需要更多信息,请告诉我。


*编辑:Alexander,这是我尝试扩展您的评论的时候,也就是说,在容器内使用多个按钮和容器(请参阅 Glade 的右上角的层次结构)。 当所有按钮都具有 Expand "Off" 时,它适用于 1 个按钮,并且当它是 "On" 时(然后我不再需要调整高度)。

"No" to all buttons "Yes" to all buttons

  • 最简单的解决方案:采用 GtkBox 并使用 gtk_box_pack_end
  • 另一种方法是控制容器对齐和扩展行为(在容器本身上使用 gtk_widget_set_halign/gtk_widget_set_valigngtk_widget_set_hexpand/gtk_widget_set_vexpand

编辑:没有注意到您正在使用 glade。创建一个 gtkbox,添加一个 child 并更改 child 的包类型


另请注意:如果您想在另一个容器附近添加容器,则应将两个容器都装在另一个容器中。