HBox
并VBox
包含以下声明的文档:
已弃用:改用 Box,这是一个非常快速且简单的更改。但我们建议切换到 Grid,因为 Box 最终会消失。
然而,“快速和简单的改变”应该是什么并不明显。
您如何使用Box
和/或Grid
实现 or 的VBox
功能HBox
?
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_start
, pack_end
.
使用 Grid,如果你仔细阅读文档,你会看到这一行:
Grid 可以像 Box 一样使用,只需使用 Gtk::Container::add(),它将按照方向属性确定的方向将子项彼此相邻放置。
因此,它应该像设置方向一样简单,然后设置add
您的子小部件。