1

HBoxVBox包含以下声明的文档:

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

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

您如何使用Box和/或Grid实现 or 的VBox功能HBox

4

1 回答 1

2

gtkmm3 的一大变化:

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

虽然上面没有提到 Grid,但两个容器现在都有一个方法set_orientationBox也可以在构造函数中使用它。所以对于 Box,设置方向并使用你通常的pack_start, pack_end.

使用 Grid,如果你仔细阅读文档,你会看到这一行:

Grid 可以像 Box 一样使用,只需使用 Gtk::Container::add(),它将按照方向属性确定的方向将子项彼此相邻放置。

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

于 2013-10-25T13:18:19.790 回答