如何用Box / Grid替换HBox / VBox

时间:2013-10-23 04:10:23

标签: gtkmm

HBoxVBox的文档包含声明:

  

不推荐使用:改用Box,这是一个非常快速和简单的更改。   但我们建议切换到Grid,因为Box最终会消失。

然而,“快速而简单的改变”应该是什么并不明显。

如何使用Box和/或Grid来实现VBoxHBox的功能?

1 个答案:

答案 0 :(得分:2)

gtkmm3中的一个重大变化:

  

Gtk :: Box,Gtk :: ButtonBox,Gtk :: IconView,Gtk :: Paned,Gtk :: ProgressBar,   Gtk :: ScaleButton,Gtk :: ScrollBar和Gtk :: Separator现在派生自   Gtk :: Orientable,允许它们的方向(垂直或水平)   指定而不需要使用派生类,如   GTK :: HBox中。

虽然上面没有提到Grid,但两个容器现在都有方法set_orientation; Box也可以在构造函数中使用它。因此,对于Box,设置方向并使用您常用的pack_startpack_end

使用网格,如果你scrutinize the documentation,你会看到这一行:

  

通过使用Gtk :: Container :: add(),可以像使用Box一样使用Grid   将孩子放在彼此相邻的方向上   取向属性。

因此,它应该像设置方向一样简单,然后add您的子窗口小部件。