gtkmm:将容器小部件(Box)中的元素堆叠在一起

gtkmm: stack together elements in the container widget (Box)

我想创建某种由按钮组成的工具栏。我用了ButtonBox,里面放了一些切换按钮,彩色按钮和一个普通按钮。

我想完成两件事:

  1. 尽管 window 宽度,使按钮粘在一起,它们之间没有边距。
  2. 最右边的按钮在 window 的右边,其他按钮在左边。

如果我不想要第二个东西,我可以只使用 set_valign 这样工具栏就会向右收缩。

我尝试在颜色按钮后添加空的 Gtk::Box 并允许它扩展,这使最右边的按钮保持在右侧,但它仍然在按钮之间留有边距,无论 pack_start 的参数是什么和 pack_end 我尝试 - 有两个可选的布尔参数,但它们似乎都没有做任何事情。

正常情况下是这样的:

这是空盒子的样子:

那么我应该怎么做才能去除按钮之间的边距,有没有更好的方法让一些按钮在右边,一些在左边?

ButtonBox 按钮之间总是有 space。如果您想要中间没有 space 的按钮,请使用常规 Box。

否则你做对了。使用 Box 将右侧按钮移动到边缘。有时您可以通过对不同的按钮使用 pack_startpack_end 来实现相同的效果,所有按钮都在同一个 Box 中。